Bonjour,
J'ai un formulaire php assez complexe donc pour vous expliquer mon soucis je vais prendre un exemple simple.
J'ai donc un formulaire avec deux champs, un champ nom et un champs prénom.
J'ai aussi un <input text> dans lequel je renseigne combien de formulaire a afficher à l'écran.
Jusque là pas de problèmes. Dans ce input text j'ai créé une fonction ajax qui récupère la valeur renseignée grace à l'id de l'input text, cette fonction marche bien car en fin de fonction je fait un alert et sa m'affiche la bonne valeur.
Ce que je voudrai maintenant, c'est que je puisse récupérer dans mon code php la valeur retournée afin que je puisse afficher autant de formulaire souhaitée. En gros faire sa :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 $n_Formulaire = valeurRetournée par ma fonction()
Voici le code de mon imput text
test.php
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 echo "<input name='nb_form' type='text' id='nb_form' maxlength='2' onblur='getNbEnf();'>";
Mon script ajax
Code ajax : 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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 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 lors du changement de focus */ function getNbEnf() { var sel = document.getElementById('nb_form'); var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function() { //attendons dque le requete soit finie... if(xhr.readyState == 4 && xhr.status == 200) { var rst = xhr.responseXML; } } // Ici on va voir comment faire du post xhr.open("POST","test.php",true); // ne pas oublier ça pour le post xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); nb = sel.value; alert(nb); xhr.send("Nb="+nb); }
Voilà, si quelqu'un pouvait m'éclairer se serait sympa :cool:
Je précise que je suis totalement débutant en Ajax![]()
Partager