Bonjours a tous voila j'utilise des liste liée pour un site mais j'ai un petit souci que je n'arrive pas a résoudre!
J'ai pris le code sur se site, donc quand je choisi une option dans la premier liste une boite de dialogue s'ouvre en plusieurs fois avant que la seconde liste propose les choix correspondant! pourriez vous m'aidez a retiré cette boite de dialogue( qui correspond en faite au id des premier choix de la table sql!)
voici mon auteurs.phpajaxLivre.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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86 <html> <head> <title>My webpage is rich</title> <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 change(){ var xhr = getXhr(); // On défini ce qu'on va faire quand on aura la réponse xhr.onreadystatechange = function(){ alert(xhr.readyState); // 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){ di = document.getElementById('modele'); di.innerHTML = xhr.responseText; } } // Ici on va voir comment faire du post xhr.open("POST","ajaxLivre.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 idmarque = document.getElementById('marque').options[document.getElementById('marque').selectedIndex].value; //alert(idMarque); xhr.send("idMarque="+idmarque); } </script> </head> <body> <form action="cible.php" method="post"> <fieldset style="width: 500px"> <legend>Liste liées</legend> <label>Marque</label> <select name='marque' id='marque' onchange='change()'> <option value='-1'>Choisir la marque</option> <?php mysql_connect("localhost","root",""); mysql_select_db("test"); $res = mysql_query("SELECT * FROM marque "); while($row = mysql_fetch_assoc($res)){ echo "<option value='".$row["id"]."'>".$row["nom"]."</option>"; } ?> </select> <label>Modele</label> <div id='modele' style='display:inline'> <select name='modele'> <option value='-1'>Choisir le modele</option> </select> </div> </fieldset> <input type="submit" value="Valider" /> </form> </body> </html>
Merci a vous!
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 <?php echo "<select name='modele'>"; if(isset($_REQUEST["idMarque"])){ mysql_connect("localhost","root",""); mysql_select_db("test"); $res = mysql_query("SELECT id,titre FROM modele WHERE idMarque=".$_REQUEST["idMarque"]." ORDER BY titre"); while($row = mysql_fetch_assoc($res)){ echo "<option value='".$row["titre"]."'>".$row["titre"]."</option>"; } } else echo "<option value='-1'>Choisir le modele</option>"; echo "</select>"; ?>
Partager