bonjour,
je souhaiterai traiter mon formulaire avec ajax, le problème c'est qu'il contient pas mal de champs avec des selects, des radios etc... et donc c'est un peu pas super pratique pour passer tous ces éléments en paramètre de ma requete ajax.
Donc ce que j'aimerai faire alternativement c'est que dans le formulaire, j'enlève mon action et je laisse le bouton submit et avec ajax, je fait un alert d'un de mes champs, (par exemple alert("<?php echo $_POST['NOM']; ?>") ) au moment où xhr.readyState == 2( c'est à dire que le formulaire a fini d'envoyer les données sur le serveur.)
Or quand je fais cette alert, rien ne s'affiche. Par contre si je teste avec une chaine normal comme alert('toto'); ca marche sans problème et ça avec les 4 états de readyState.
Voici mon code ajax:
et j'ai placé mon function submitForm() dans onClick sur le submit de mon formulaire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 function submitForm() { var xhr = null; if(window.XMLHttpRequest) xhr = new XMLHttpRequest(); else if(window.ActiveXObject) var xhr = new ActiveXObject(Microsoft.XMLHTTP); else alert('Votre navigateur ne supporte pas les objets javascript'); xhr.onreadystatechange = function() { if(xhr.status == 200) { if(xhr.readyState == 1) alert("ouverture"); else if(xhr.readyState == 4) alert("<?php echo $_POST['NOM']; ?>"); } else alert("la page n'a pas été trouvé"); } var url = '../test.php'; xhr.open('GET', url, true); xhr.send(null); }
Partager