AJAX - UN SEUL APPEL DE FONCTIONS POUR FAIRE DES LIENS ET SOUMETTRE DES FORMULAI

R0_0T Messages postés 4 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 2 février 2007 - 2 févr. 2007 à 14:26
walex76 Messages postés 2 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 27 janvier 2009 - 27 janv. 2009 à 19:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/41331-ajax-un-seul-appel-de-fonctions-pour-faire-des-liens-et-soumettre-des-formulaires

walex76 Messages postés 2 Date d'inscription mardi 16 janvier 2007 Statut Membre Dernière intervention 27 janvier 2009
27 janv. 2009 à 19:52
Slt à vous !
Je voulais savoir si vs avez trouver une version de ce code compatible sur FF ?
ça serai terrible d'avoir de l'ajax avec form ! superbe methode ! mais pas que sur IE !
Si oui,
Quel est la modif à faire ?

W@lex
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
28 sept. 2007 à 17:33
> GMail y arrivent, parce qu'ils font comme toi XD

C'est ce que je pensais, mais je n'en ai pas vraiment l'impression...
Le "Input" tag est dans une table qui contient tout l'entete du mail, et ils appellent une fonction dans le onchange dont je n'ai pas reussi a trouver la source ( _CM_OnAttach() si je me souviens bien).

Je pense que ca se verrai si tout l'entete etait recharge, non ?

Eric
Gwinyam Messages postés 47 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 2 janvier 2008
28 sept. 2007 à 17:16
GMail y arrivent, parce qu'ils font comme toi XD
LeFauve42 Messages postés 239 Date d'inscription vendredi 20 octobre 2006 Statut Membre Dernière intervention 20 avril 2009
28 sept. 2007 à 11:01
Salut,

> "je suis sûr qu'il y a moyen de soumettre le formulaire d'envoi de fichiers avec cet appel de fonction"
> => pas de façon portable... faut activeX pour pouvoir lire des fichiers chez le client...

Dans GMail, ils y arrivent, non ?
Bon, je n'ai pas reussi a trouver comment :o) mais ca doit etre possible.
Pour l'instant quand j'ai besoin d'uploader un fichier dans une appli ajax, je fais un peu le porc en mettant un form normal dans une petite IFrame.
Si quelqu'un connait une meilleure methode, je suis preneur :o)

Eric
lordbdp Messages postés 33 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 10 avril 2020
15 mai 2007 à 18:35
Y'a plus le lien pour télécharger !
lordbdp Messages postés 33 Date d'inscription dimanche 9 octobre 2005 Statut Membre Dernière intervention 10 avril 2020
15 mai 2007 à 18:30
A tester... Mais semble très pratique ;o)
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
12 févr. 2007 à 18:23
DOM est de loin beaucoup plus compliqué à manipuler... l'avantage de DOM? quand on veut faire du XUL, innerHTML n'existe plus, puisqu'on n'est plus dans du html, mais le DOM permet quand même de manipuler le document...
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
10 févr. 2007 à 00:13
wah je savais pas ça. Je me suis renseigné un peu, et en fait ça a l'air d'une petite galère de faire exactement la même chose qu'innerHTML... et selon un benchmark que j'ai trouvé par hasard, niveau performance, meme sous firefox ou opéra, innerhtml est plus rapide que les fonctions DOM permettant son equivalent.
A l'heure de la mise en avant du respect des normes web, dur dilemme! Reste de plus à voir si cette fonction hors norme ne sera pas ammenée à disparaitre... :/
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
9 févr. 2007 à 19:21
Hello,

innerHTML fonctionne sous FF...mais ne fait pas partie d'une norme, hormis celle de Microsoft.
Ca n'est pas un attribut HTML, ni d'aucun document, et donc, ça n'est pas du DOM.
Mais ça reste pratique dans certains cas...même si DOM propose ce qu'il faut pour faire la même chose.
hvb Messages postés 939 Date d'inscription vendredi 25 octobre 2002 Statut Membre Dernière intervention 27 janvier 2009 3
7 févr. 2007 à 10:41
en quoi document.getElementById(div).innerHTML ne marcherait pas sous FF?
Cela fait partie de la norme... ça marche sous ie,ff,opera et meme netscape...
Gwinyam Messages postés 47 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 2 janvier 2008
5 févr. 2007 à 13:29
Ouais bon je laisse tomber alors
Merci de l'info
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
5 févr. 2007 à 09:41
"je suis sûr qu'il y a moyen de soumettre le formulaire d'envoi de fichiers avec cet appel de fonction"=> pas de façon portable... faut activeX pour pouvoir lire des fichiers chez le client...
Gwinyam Messages postés 47 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 2 janvier 2008
4 févr. 2007 à 23:18
C'est bon j'ai testé, à priori c'est bon ça marche correctement. Maintenant ne reste plus qu'à mettre en place une bonne parade pour les fichiers...

Je sais déjà comment faire, mais je suis sûr qu'il y a moyen de soumettre le formulaire d'envoi de fichiers avec cet appel de fonction, je suis un ouf lol
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
4 févr. 2007 à 18:13
De rien, tant que c'est pour aider,
un projet libre, qui sert une nouvelle technologie,
et qui pourait en plus aider des jeunes programmeurs, alors la......

.....chui completement dispo lol

bonne continuation.... ;)
Gwinyam Messages postés 47 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 2 janvier 2008
4 févr. 2007 à 16:30
Ouais j'ai vu que t'avais fait un message d'attente, je crois que je vais le faire aussi, je mettrais ça dès que j'aurais une idée pour l'image d'attente de mon site. Je veux faire un truc propre et pro ;)

Merci de ton soutien en tout cas :)
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
2 févr. 2007 à 16:15
lol, dsl chui un peu tête en l'air ^^"
bon bref au nivo de ta mise a jour, je dirais que c'est bon,
normalement sa dois etre compatible ( la flem de tester ;p mais sa a l'air bon )

Bravo pour ta source....

P.S.: Je te conseillerais de faire un message d'attente,
car parfois la requete peux duré plusieurs seconde, même si c'est asser rare....
Gwinyam Messages postés 47 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 2 janvier 2008
2 févr. 2007 à 16:05
euh il y a mélange, pour l'erreur, c'était pour R0_0T, toi j'avais compris que c'était pour la portabilité ;)

Tu peux regarder si la correction que j'ai fait et bonne, ou tout au moins correspond à ce que tu suggérais stp?

La fonction GET, je l'ai bloqué uniquement pour l'envoi de paramètres. Question de sécurité. En fait mon CMS est en plein développement, j'ai démarré seul, maintenant on est une petite équipe, pour pouvoir être sur que tout le monde puisse relire et comprendre ce que fait n'importe quel autre développeur, on a intégré des règles de base. Donc notamment passages de paramètres uniquement avec POST. Voilà globalement le pourquoi ;)
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
2 févr. 2007 à 15:59
Non tu est partie loin la ^^"
je n'ais jamais parler d'erreur, et encore moin de la methode GET ^^"

je te parle de la compatibilité de ton code,
sous Firefox et les autres navigateurs autre que IExplorer,
parce que ton "document.getElementById(div).innerHTML"
n'est pas valable pour tous les navigateurs, par exemple sous FF,
c'est pas censer fonctionné.....

....mais a propos de GET, pourquoi l'avoir bloquer...?!
Gwinyam Messages postés 47 Date d'inscription vendredi 7 octobre 2005 Statut Membre Dernière intervention 2 janvier 2008
2 févr. 2007 à 15:40
@ R0_0T : je ne vois pas ce que tu veux dire, il n'y a pas d'erreur, j'ai volontairement bloquer le passage de données par la méthode GET. Si c'est autre chose, je ne vois pas ce dont tu veux parler. Enfin jusque là tout a bien marché de mon côté.

@ Wizard512: je regarde ton code, merci du lien
wizard512 Messages postés 459 Date d'inscription dimanche 9 janvier 2005 Statut Membre Dernière intervention 11 mai 2013 2
2 févr. 2007 à 14:50
il faudrait remplacer le :

"document.getElementById(div).innerHTML"

sinon sa marchera que pour IE ^^"
Tien va voir, ma source sur ajax, aillant le même principe.

http://www.javascriptfr.com/codes/AJAXSIMPLIFIER-SEUL-FONCTION-GET-POST_39282.aspx
R0_0T Messages postés 4 Date d'inscription lundi 5 juin 2006 Statut Membre Dernière intervention 2 février 2007
2 févr. 2007 à 14:26
Il n'y aurait pas une petite erreur à cette condition:

# if(method=="GET")
# {
# data=form;
# method="POST";
# }
# else
# {
# data = getFormData(form);
# }

si non, je m'excuse : ) amicalement
Rejoignez-nous