Bonjour,
Je possède 2 fichiers, un avec le sript ajax,deux checkbox et un select ci-dessous ( j'ai volontairement simplifié, ce n'est pas vraiment mon code c'est juste pour que vous compreniez )
et voilà mon code intermédiaire ajax.php :
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
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
52
53
54
55
56
57
58
59
60
61 <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('valeur').value = leselect; } } // Ici on va voir comment faire du post xhr.open("POST","ajax.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('donnees'); id = sel.options[sel.selectedIndex].value; xhr.send("donnees="+id); } </script> <form method="POST" action=""> <input type="checkbox" name="boxA" value="boxA" >boxA <input type="checkbox" name="boxB" value="boxB" >boxB <select name="valeur"> <option value="valeurA" >valeurA</option> </select> <input type="text" name="donnees" value=""> </form>
Ces deux pages me permettent de récupérer dans mon input=texte la valeur de $tab['Numero'] par rapport à la valeur de mon select mais je souhaite obtenir quelque chose comme cela:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $select = $_POST['valeur'] ; $req = mysql_query("SELECT Numero FROM table WHERE id = '" . $select ."' "); while($tab = mysql_fetch_array($req)) { echo $tab['Numero'] ; }
:
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 $select = $_POST['valeur'] ; $boxA = $_POST['boxA'] ; $req = mysql_query("SELECT Numero FROM table WHERE id = '" . $select ."' "); while($tab = mysql_fetch_array($req)) { if( $boxA == on ) { echo "A" . $tab[Numero] ; } else { echo "B" . $tab[Numero] ; } }
c'est à dire récupérer aussi en même temps que la valeur de mon select, la valeur de ma boxA, pour ensuite pouvoir avoir une valeur différente dans mon input=text suivant la case cochée.
J'espère m'être exprimé assez clairement.
Merci d'avance de votre aide
Partager