récupération variable avec plusieurs appels Javascript
Bonjour,
J'ai une page qui fait appelle a deux script Javascript.
Les deux scripts sont pratiquement les mêmes. Le but étant d'afficher deux bouts de page dynamiquement dans la même page. Le seul problème est que je n'arrive pas à récupérer la variable (ID) de la première partie de page chargé sur la deuxième page pour que je puisse effectuer ma requête SQL.
Voici la page en question : http://tiennot.fr/wp/demo.php
Voici le code de la page par défaut :
Code:
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
|
<?php
include("./integration/XXXX.php");
?>
<script type="text/javascript" src="./integration/js/ajax-table.js"></script>
<script type="text/javascript" src="./integration/js/ajax-table2.js"></script>
<header class="entry-header">
<h1 class="entry-title">Validation Inscription</h1>
</header><!-- .entry-header -->
<select type="text" name="users" onchange="showUser(this.value)">
<option value="">Selectionnez</option>
<?php
connecte();
$sql = "SELECT * FROM XXX WHERE XXX='1'";
$rs = mysql_query($sql);
while($row = mysql_fetch_array($rs))
{
echo "<option value=\"".$row['idEvenement']."\">".$row['nomEvenement'].' - '.$row['dateEvenement'].' - '.$row['lieuEvenement']."\n ";
}
?>
</select>
<form class="cmxform" id="commentForm" method="post" action="./XXX.php">
<fieldset>
<div id="txtHint"><b></b></div>
<div id="txtHint2"><b></b></div>
</fieldset>
</form> |
Voici le code du script nommé "ajax-table.js" :
Code:
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
| function showUser(str)
{
if (str=="")
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","./integration/getuser.php?q="+str,true);
xmlhttp.send();
} |
Voici le code que "ajax-table.js" appelle (getuser.php) avec un GET qui récupère l'ID de la sélection :
Code:
1 2 3 4 5 6 7 8
| <?
$q = $_GET['q'];
echo "Voici l'ID de la selection : ".$q."<br />";
?>
<br /><input type='radio' onchange='showUser2(this.value)' name='idPack' value='1'>1<br />
<br /><input type='radio' onchange='showUser2(this.value)' name='idPack' value='2'>2<br />
<br /><input type='radio' onchange='showUser2(this.value)' name='idPack' value='3'>3<br /> |
Voici le code du javascript pour la deuxième parti de la page "ajax-table2" :
Code:
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
|
function showUser2(str2)
{
if (str2=="")
{
document.getElementById("txtHint2").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint2").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","./integration/getuser2.php?s="+str2,true);
xmlhttp.send();
} |
Voici le code que "ajax-table2.js" appelle (getuser2.php) avec un GET qui récupère le choix de l'utilisateur (RADIO) mais qui n’arrive pas à récupérer la variable de la première page :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?php
$s=$_GET["s"];
echo "Voici le resultat du radio : ".$s."<br /> ";
If ($s == "1")
{
echo "requete avec l'ID de la selection faite plus haut que je n'arrive pas a recuperer";
}
else
{
echo "Requete sans l'ID de plus haut...";
}
?>
<center>
<input type="submit" value="valider" name="ok">
</center> |
Le problème, je pense, est que je devrais utiliser non pas deux script diffèrent mais le fusionner en un. Ensuite, lors de l'appelle de la deuxième page, je devrais rajouter la variable (ID soit str) dans l'URL de destination avec le GET :
xmlhttp.open("GET","./integration/getuser2.php?s="+str2+"$q="+str,true);
Sauf que je n'y arrive pas... Je suis débutant en js et je le manipule très mal...
J'espère avoir été assez claire... Je continu de mon côté...
Cordialement