[JS/PHP]remplir select

Fermé
naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 - 19 mai 2010 à 14:32
naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 - 19 mai 2010 à 15:15
Salut ,

J'ai un petit problème , j'aimerai remplir un select multiple par rapport a des données dans une bdd via une fonction javascript et la fonction xmlhttprequest , j'ai essayer de le faire mais ça marche pas .

voici ce que j'ai fait :

HTML :

<select class="multiple" name="liste_champs">
</select>
<a href="#" onclick="frais()">ok</a>

JS :

function frais()
{

var xhr_object = null;
var numero_a = document.form_aff.Numero_A.value
if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}

xhr_object.open("POST", "affaires.php", true);

xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4)
eval(xhr_object.responseText);
}

xhr_object.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

var data = "form=ss1";

xhr_object.send(data)
}

PHP :
<?php

mysql_connect("localhost",'root','') or die("connexion impossible");

mysql_select_db("base") or die("selection database impossible");

$req = mysql_query("SELECT id,libelle FROM inscrit ") or die("req foiré");

while($r = mysql_fetch_array($req))
{
echo "<option value='".$r[0]."'>".$r[1] ."</option>";
}

mysql_close($mysql_db);

?>


La page php marche quand on la test .

Merci de vos réponses ! :)
A voir également:

2 réponses

jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 185
19 mai 2010 à 14:52
eval(xhr_object.responseText); 



Pourquoi faire une eval ici ? :O

Tu voulais qu'il fasse quoi ?
0
naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 188
Modifié par naruto-94 le 19/05/2010 à 15:17
en faite l'eval ne sert à rien c'est vrai j'ai oublié de l'enlevé quand je l'ai pris d'un exemple..

mais là j'ai refais le code et cette fois ci j'y suis presque :

JS :
function frais()
{

var xhr_object = null;

if(window.XMLHttpRequest) // Firefox
xhr_object = new XMLHttpRequest();
else if(window.ActiveXObject) // Internet Explorer
xhr_object = new ActiveXObject("Microsoft.XMLHTTP");
else { // XMLHttpRequest non supporté par le navigateur
alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest...");
return;
}

xhr_object.open("POST", "inc/affaire.php", true);

xhr_object.onreadystatechange = function() {
if(xhr_object.readyState == 4) xhr_object.responseText;
}

xhr_object.send(null);

//document.form_aff.liste_champs[1] = new Option('TEST') => marche


}

PHP :

<?php

$con = mysql_connect("localhost",'root','') or die("connexion impossible");

mysql_select_db("database") or die("selection database impossible");

$req = mysql_query("SELECT id,libelle FROM inscrit ") or die("req foiré");

$i=0;
while($r = mysql_fetch_array($req))
{
echo "document.form_aff.liste_champs[$i] = new Option('".$r[1]."');";
$i++;
}

mysql_close($con);

?>

cette fois ci quand je fais alert(xhr_object.responseText) dans le JS ça me renvoie
un bon code JS mais ça ne rempli pas le select pourtant quand j'enleve le commentaire document.form_aff.liste_champs[1] = new Option('TEST') et bien le select ce rempli .. il me manque un truc mais quoi
0