[AJAX] Comment envoyer les données d'un formulaire
Bonjout àtous
J'ai un script qui fonction sur l'ID d'un field.
Il envoie la valeur de ce champs et retourne éle resultat d'une requete MySQL
Voiv le code:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
<script type='text/javascript'>
function getXhr(){
var xhr = null;
if(window.XMLHttpRequest) // Firefox et autres
xhr = new XMLHttpRequest();
else if(window.ActiveXObject){ // Internet Explorer
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
return xhr;
}
/**
* Méthode qui sera appelée sur le click du bouton
*/
function go(){
var xhr = getXhr();
// On défini ce qu'on va faire quand on aura la réponse
xhr.onreadystatechange = function(){
// On ne fait quelque chose que si on a tout reçu et que le serveur est ok
if(xhr.readyState == 4 && xhr.status == 200){
leselect = xhr.responseText;
// On se sert de innerHTML pour rajouter les options a la liste
document.getElementById('livre').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","update_client.php",true);
// ne pas oublier ça pour le post
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
// ne pas oublier de poster les arguments
// ici, l'id de l'auteur
sel = document.getElementById('auteur');
idauteur = sel.options[sel.selectedIndex].value;
xhr.send("idAuteur="+idauteur);
}
</script> |
Il fonctionne bien sauf que mainteant je dois l'adapter pour que toues mes champs de mon formulaire soit envoyé à la page update_client.php afin que la base de donnée soit mis à jour.
Donc ceci ca ne vas plus
Citation:
idauteur = sel.options[sel.selectedIndex].value;
Car ca traite aun sélect, non?.
J'ai donc corrigé aisni:
Code:
1 2
| sel = document.getElementById('auteur').value;
xhr.send("idAuteur="+sel); |
Le problème c'est que je traite toujours un champs de mon formulaire.
Devrais-je dois remplacé
Citation:
sel = document.getElementById('auteur').value;
par l'id de mon form?
Mais alors, es-ce que la variable idAuteur peut devenir un tableau content toutes les valeur des champs de mon formulaire?
Là je bloque
Milles mercis