En faite tous le code javascript sera générer dans le fichier php qui génère le <menu> . Eval() evalue tous le contenu javascript et l'execute.
En faite tous le code javascript sera générer dans le fichier php qui génère le <menu> . Eval() evalue tous le contenu javascript et l'execute.
alors quand je fais ce que tu me dis, c'est à dire :
avec ma requete_oam.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 function recharge(page,val){ 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){ // On se sert de innerHTML pour rajouter les options a la liste eval(xhr.responseText); //document.getElementById('div'+val).innerHTML = xhr.responseText; } } // Ici on va voir comment faire du Get xhr.open("GET",page,true); xhr.send(null); }
J'ai une barre noire qui s'affiche sous mon menu alors que si je mets un alert :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php echo "<select name='oam' id='oam' style='width:240'>"; echo "<option value=''></option>"; require("connect_atelier.php"); $req = 'SELECT DISTINCT oam FROM oam '; $res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() ); while($row = mysql_fetch_assoc($res)){ echo "<option value='".$row["oam"]."'>".$row["oam"]."</option>"; } echo "</select>"; ?>
J'ai bien le bon resultat sur mon pop up. A plus rien y comprendre....
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 function recharge(page,val){ 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){ // On se sert de innerHTML pour rajouter les options a la liste alert(eval(xhr.responseText)); //document.getElementById('div'+val).innerHTML = xhr.responseText; } } // Ici on va voir comment faire du Get xhr.open("GET",page,true); xhr.send(null); }![]()
echo "document.getElementById('ton div').innerHTML = (variable) le menu généré par php.
donc ton menu tu le stock dans une variable php donc
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $str = "<select name='oam' id='oam' style='width:240'>"; $str.= "<option value=''></option>"; require("connect_atelier.php"); $req = 'SELECT DISTINCT oam FROM oam '; $res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() ); while($row = mysql_fetch_assoc($res)){ $str.="<option value='".$row["oam"]."'>".$row["oam"]."</option>"; } $str.="</select>"; echo 'document.getElementById("ton div").innerHTML = "'.$str.'"';';
J'ai essaye ton code et apres avoir modifie qq trucs pour avoir comme resultat sur ma requete_oam.php :
document.getElementById("divoam").innerHTML =menu_deroulant;
J'ai bel et bien mon menu mais il s'efface des que je lache la souris et je ne peux prendre aucune valeur. Comme avant quoi...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php $str = "<select name='oam' id='oam' style='width:240'>\n"; $str.= "<option value=''></option>\n"; require("connect_atelier.php"); $req = 'SELECT DISTINCT oam FROM oam '; $res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() ); while($row = mysql_fetch_assoc($res)){ $str.="<option value='".$row['oam']."'>".$row['oam']."</option>"; } $str.="</select>"; echo 'document.getElementById("divoam").innerHTML = '.$str.';';(plus de guillemets) ?>
C quoi cet merde dans mon fichier lol![]()
Donc le probleme se trouve ailleur. il y a quelque chose qui fait appelle a cette fonction ou fait quelque chose sur ce <div> Conseille fait le teste sur une autre fichier vierge tu recommences à la mode ultra basic parce qu'il y a pas de raison que ça s'efface. tu essais avec différent navigateur.
voila mon fichier brute de pomme et toujours le meme soucis. J'utilise Firefox 1.5.0.4
et ma requete_oam.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 <script type="text/javascript"> function getXhr() { if (window.XMLHttpRequest) { xhr = new XMLHttpRequest(); } else if (window.ActiveXObject) // if IE { var ieversions = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.5.0', 'Msxml2.XMLHTTP.4.0', 'Msxml2.XMLHTTP.3.0' ]; for(var i=0; !xhr && i<ieversions.length; i++) { try { xhr = new ActiveXObject(ieversions[i]); } catch(e) { xhr = null; } } } if(!xhr)// XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); } function recharge(page,val){ 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){ // On se sert de innerHTML pour rajouter les options a la liste //eval(xhr.responseText); document.getElementById('div'+val).innerHTML = xhr.responseText; } } // Ici on va voir comment faire du Get xhr.open("GET",page,true); xhr.send(null); } </script> <div id="divoam" onClick='recharge("requete_oam.php","oam")' > <select name="oam" id="oam" style="width:240" > <option value=""></option> </select> </div>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php echo "<select name='oam' id='oam' style='width:240'>"; echo "<option value=''></option>"; require("connect_atelier.php"); $req = 'SELECT DISTINCT oam FROM oam '; $res = mysql_query($req,$connect) or die ('Erreur : '.mysql_error() ); while($row = mysql_fetch_assoc($res)){ echo "<option value='".$row["oam"]."'>".$row["oam"]."</option>"; } echo "</select>"; ?>
Partager