[AJAX] recuperer plusieurs valeurs dans une fonction
Bonjour,
j'ai trouver une fonction sur internet que j'ai modifier par rapport a mon code. En faite je voudrai récupérer toutes les valeurs de mes select.
voila je que j'ai fait :
fichier fonction.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 26
|
var xhr = null;
//On teste si le navigateur supporte les objets XMLHttpRequest
function getXhr()
{
if(window.XMLHttpRequest) //Firefox,Safari,...
xhr = new XMLHttpRequest();
else if(window.ActiveXObject) //Internet Explorer
{
try
{
xhr = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else
{
//Le nagivateur ne supporte pas les objets XMLHTTPRequest
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
xhr = false;
}
} |
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
|
function phrase()
{
//On fait un teste du navigateur
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)
{
laphrase = xhr.responseText;
document.getElementById('phrase').innerHTML = laphrase;
}
}
//On definie le mode du transfert de la variable vers une page php
xhr.open("POST","Ajax_phrase.php",true);
//ne pas oublier ceci pour la methode POST
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
//ne pas oublier de poster les arguments
sel = document.getElementById('presence');
idpresence = sel.options[sel.selectedIndex].value;
xhr.send("idPresence="+idpresence);
sel = document.getElementById('base');
idbase = sel.options[sel.selectedIndex].value;
xhr.send("idBase="+idbase);
sel = document.getElementById('site');
idsite = sel.options[sel.selectedIndex].value;
xhr.send("idSite="+idsite);
sel = document.getElementById('sous_res');
idsous_res = sel.options[sel.selectedIndex].value;
xhr.send("idSous_res="+idsous_res);
sel = document.getElementById('pourcentage');
idpourcentage = sel.options[sel.selectedIndex].value;
xhr.send("idPourcentage="+idpourcentage);
sel = document.getElementById('nombre');
idnombre = sel.options[sel.selectedIndex].value;
xhr.send("idNombre="+idnombre);
} |
fichier index.php
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 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 87 88 89 90 91
|
<label>Presence :</label>
<select name='presence' id='presence'>
<?
mysql_connect("localhost","etu","lannion");
mysql_select_db("bddetu");
$res = mysql_query("SELECT DISTINCT presence FROM champs WHERE presence !=''");
echo "<option value='-1' selected>-- Veuillez choisir --</option>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["presence"]."'>".$row["presence"]."</option>";
}
mysql_close();
?>
</select>
<label>Base :</label>
<select name='base' id='base'>
<?
mysql_connect("localhost","etu","lannion");
mysql_select_db("bddetu");
$res = mysql_query("SELECT DISTINCT base FROM champs");
echo "<option value='-1' selected>-- Veuillez choisir --</option>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["base"]."'>".$row["base"]."</option>";
}
mysql_close();
?>
</select>
<br><br>
<label>Site :</label>
<select name='site' id='site' onchange='sous_reseau()'>
<?
//Premet de mettre une chaine de caractere en minuscule
function minuscules(&$chaine)
{
$chaine=strtolower($chaine);
}
$site = 'PARIS';
minuscules(&$site);
mysql_connect("localhost","etu","lannion");
mysql_select_db("bddetu");
$res = mysql_query("SELECT DISTINCT site FROM site_sous_reseau WHERE site NOT LIKE '$site' ORDER BY site");
echo "<option value='$site'>$site</option>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["site"]."'>".$row["site"]."</option>";
}
mysql_close();
?>
</select>
<label>Sous-reseau :</label>
<div id='sous_res' style='display:inline'>
<select name='sous_res'>
<option value='-1'>Choisir un sous-reseau</option>
</select>
</div>
<br><br>
<label>Signe :</label>
<select name='pourcentage' id='pourcentage'>
<?
mysql_connect("localhost","etu","lannion");
mysql_select_db("bddetu");
$res = mysql_query("SELECT DISTINCT pourcentage FROM champs");
echo "<option value='-1' selected>-- Veuillez choisir --</option>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["pourcentage"]."'>".$row["pourcentage"]."</option>";
}
mysql_close();
?>
</select>
<label>Nombre :</label>
<select name='nombre' id='nombre' onchange='phrase()'>
<?
mysql_connect("localhost","etu","lannion");
mysql_select_db("bddetu");
$res = mysql_query("SELECT DISTINCT nombre FROM champs");
echo "<option value='-1' selected>-- Veuillez choisir --</option>";
while($row = mysql_fetch_assoc($res)){
echo "<option value='".$row["nombre"]."'>".$row["nombre"]."</option>";
}
mysql_close();
?>
</select>
<br><br>
<div id='phrase' style='display:inline'>
</div> |
fichier Ajax_phrase.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
<?php
//Cette page php va permettre d'afficher une phrase
$choix = $_POST['idPresence'];
$base_de_donnee = $_POST['idBase'];
$site=$_POST["idSite"];
$sous_reseau = $_POST['idSous_res'];
$pourcentage = $_POST['idPourcentage'];
$nombre = $_POST['idNombre'];
echo '<p>Les machines qui sont '.$choix.' dans '.$base_de_donnee.' sur le site de '.$site.' et du sous-réseau '.$base_de_donnee.'.</p>';
echo '<p>Avec un pourcentage activité '.$pourcentage.' à '.$nombre.'%</p>';
?> |
je voudrai récupérer toutes les valeurs des listes déroulantes pour écrire un phrase en fonction des éléments sélectionner.
merci de votre aide
tortue