Récupérer une variable supplémentaire dans un script en ajax
2 messages • Page 1 sur 1
Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics
Récupérer une variable supplémentaire dans un script en ajax
J'ai un soucis que je vais vous exposer avec un script ajax ...
Trois fichiers :
Le premier : getuser.php
Le second : selectuser.js
Le 3ème le formulaire :
J'aimerai :
1) Récupérer la variable $userid provenant du formulaire dans mon fichier getuser.php (mais à cause du javascript je n'y arrive pas ...)
Comme vous pouvez le constater, le javascript est appelé depuis le onchange du select dans le formulaire mais je ne sais pas si je peux lui faire prendre également le $userid en même temps ou si faut appeler le javascript autrement ?
Je ne sais pas comment récupérer la variable $userid dans le javascript et la récupérer dans le fichier getuser.php ...
Merci pour votre aide :blush:
Trois fichiers :
Le premier : getuser.php
- Code: Tout sélectionner
<?php
$q=$_GET["q"];
$userid=$_GET["userid"];
$con = mysql_connect('localhost', 'monuser', 'monmotdepasse');
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("basedetest", $con);
$sql="SELECT memberid, username, avatar FROM jos_comprofiler_members WHERE type = '".$q."' and accepted='1' and memberid=$user_id";
$result = mysql_query($sql);
echo "<table border='1'>
<tr>
<th>Pseudo</th>
<th>Avatar</th>
</tr>";
while($row = mysql_fetch_array($result))
{
echo "<tr>";
echo "<td><a href=\"user=" . $row['memberid'] . "\">" . $row['username'] . "</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($con);
?>
Le second : selectuser.js
- Code: Tout sélectionner
var xmlHttp;
function showUser(str)
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="getuser.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{
document.getElementById("txtHint").innerHTML=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
//Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
Le 3ème le formulaire :
- Code: Tout sélectionner
<?php
echo" <script language=\"javascript\" type=\"text/javascript\" src=\"selectuser.js\"></script>
<form>
Selectionner la catégorie :
<select name=\"users\" onchange=\"showUser(this.value)\">
<option value=\"aucun\">Votre choix</option>
<option value=\"Amie(s)\">Amie(s)</option>
<option value=\"Collègues\">Collègues</option>
<option value=\"Relation(s)\">Relation(s)</option>
</select>
<input type=\"hidden\" name=\"userid\" value=\"68\" /> 68
</form>
<p>
<div id=\"txtHint\"><b>Les membres de la categ s'afficheront ici.</b></div>
</p>";
?>
J'aimerai :
1) Récupérer la variable $userid provenant du formulaire dans mon fichier getuser.php (mais à cause du javascript je n'y arrive pas ...)
Comme vous pouvez le constater, le javascript est appelé depuis le onchange du select dans le formulaire mais je ne sais pas si je peux lui faire prendre également le $userid en même temps ou si faut appeler le javascript autrement ?
Je ne sais pas comment récupérer la variable $userid dans le javascript et la récupérer dans le fichier getuser.php ...
Merci pour votre aide :blush:
-

UsagiYojimbo - WRInaute accro

- Messages: 5220
- Inscription: Mer Nov 23, 2005 10:38
Re: Récupérer une variable supplémentaire dans un script en ajax
Bein il te suffit de passer, en paramètre de la fonction appelée dans ton onchange, la valeur contenu dans le champ userId.
Et de modifier le prototype de ta fonction JS et les traitements en conséquences.
Un conseil par contre : quitte à faire de l'Ajax, je te conseille de passer par un framework JS, moyen beaucoup plus souple de faire des accès aux éléments de ta page, de faire des requêtes HTTP, etc. Par exemple prototype
- Code: Tout sélectionner
onchange="showUser(this.value,document.getElementById('userId').value)"
Et de modifier le prototype de ta fonction JS et les traitements en conséquences.
Un conseil par contre : quitte à faire de l'Ajax, je te conseille de passer par un framework JS, moyen beaucoup plus souple de faire des accès aux éléments de ta page, de faire des requêtes HTTP, etc. Par exemple prototype
2 messages • Page 1 sur 1
Formation recommandée sur ce thème :
Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Référencement et Web 2.0
- Picasa Web Albums en français
- Configurer des nouveaux moteurs dans Google Analytics
- Google Web Toolkit, pour créer des applications en AJAX
- Yahoo Maps API
- Google rejoint le projet Open AJAX créé par IBM
- Fin de l'API Google Search SOAP
- Définition(s) du Web 2.0
- Google ferme l'API SOAP aux nouveaux développeurs
- Google Finance : informations financières gratuites
Consultez la description détaillée des produits ou services de Google suivants : Google Web Toolkit
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


le forum