Soyez le premier à donner votre avis sur cette source.
Snippet vu 12 527 fois - Téléchargée 23 fois
function getFormData(form) { var data1 = ""; var form = document.getElementById(form); var elements = form.elements; for(var i=0; i<form.length; i++) { data1 += elements[i].name + "=" +escape(elements[i].value); if((i+1)<form.length) { data1+="&"; } } return data1; } function ajax(fichier, div, method, form) { var xhr=null; var data="null"; if(form!="null") { if(method=="GET") { data=form; method="POST"; } else { data = getFormData(form); } } // détection du navigateur pour la création de l'objet XMLHttpRequest (soit l'acronyme xhr) if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if (window.ActiveXObject) { xhr = new ActiveXObject("Microsoft.XMLHTTP"); } xhr.open( method, fichier, false); xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); xhr.send(data); if (document.getElementById) { document.getElementById(div).innerHTML=xhr.responseText; } else { if (document.layers) { document.div.innerHTML=xhr.responseText; } else { document.all.div.innerHTML=xhr.responseText; } } } // Appels ajax("monfichier.php", "div_de_destination", "GET", null) ajax("monfichier.php", "div_de_destination", "POST", null) // ces appels permettent d'exécuter le script contenu dans monfichier.php et d'afficher le retour dans la div d'id div_de_destination, ici il n'y a pas de paramètre. Ce sont les appels de base, ils me servent notamment pour faire les liens hypertextes. ajax("monfichier.php", "div_de_destination", "GET", "c=2&d=4") // cet appel permet d'exécuter le script contenu dans monfichier.php et d'afficher le retour dans la div d'id div_de_destinatio, les données c=2 et d=4 sont transmises par la méthode POST. ajax("monfichier.php", "div_de_destination", "POST", "mon_formulaire") // cet appel permet d'exécuter le script contenu dans monfichier.php et d'afficher le retour dans la div d'id div_de_destinatio, les données du formulaire sont récupérées et mises en forme (également encodées avec la fonction escape, équivalent de l'url_encode de php) par la fonction getFormData puis sont transmises par la méthode POST.
27 janv. 2009 à 19:52
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
28 sept. 2007 à 17:33
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
28 sept. 2007 à 17:16
28 sept. 2007 à 11:01
> "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
15 mai 2007 à 18:35
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.