[AJAX] Liste déroulante et tableau
Bonjour cher(e) dévellopeur(se),
Mon probleme, j'ai une liste déroulante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?php $sql="SELECT * FROM HES_EQUIPMENT";
$this->EXE_SELECT($sql);
echo "<SELECT name='EQUIPMENT' id='EQUIPMENT'>\n";
for($i=1;$i<=$this->NBRESULTS();$i++)
{
echo "<OPTION value='".$this->RECUP($i, 'IDEQUIPMENT')."'";
if($this->idequipment==$this->RECUP($i, 'IDEQUIPMENT'))
{
echo " selected";
}
echo ">";
echo $this->RECUP($i, 'LABELEQUIPMENT');
echo "</OPTION>\n";
}
echo "</SELECT>";
?> |
qui est un simple appel d'une fonction d'une classe donc mon ficher principale PHP,cette liste est suivit d'un boutton vlider de typu 'button' qui me lance la fonction ajax() que voici:
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
| 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 Ajax()
{
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('EQUIP').innerHTML = leselect;
}
}
// Ici on va voir comment faire du post
xhr.open("POST","ajaxtableproduct.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('EQUIPMENT');
idequiment = sel.options[sel.selectedIndex].value;
xhr.send("idequiment="+idequiment);
} |
et voici le fichier ajaxtableproduct.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php
//require_once(".CLASS.PHP");
echo "<TABLE name='TABLEEQUIPMENT' id='TABLEEQUIPMENT' >";
echo "<TR>";
if(isset($_POST["idequiment"]))
{
$equipment = new HES_EQUIPMENT($_POST["idequiment"]);
echo "<TD>".$equipment->labelequipment".</TD>";
echo "<TD>".$equipment->noteequipment".</TD>";
echo "<TD>".$equipment->categequip->codewordcategequip".</TD>";
}
echo "</TR>";
echo "</TABLE>";
?> |
Voila donc ce que je voudrai faire c'est, on selectionne un element dans la liste et quand l'on clique sur le boutton valider le tableau ce remplie avec l'élement de la liste selectionner.
Merci de votre aide
Cordialement Ludodor