[AJAX] Récupérer deux valeur en AJAX
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 )
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 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> |
et voilà mon code intermédiaire ajax.php :
Code:
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'] ;
} |
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:
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