pasdie
Messages postés2Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention14 août 2007
-
14 août 2007 à 11:28
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 2013
-
14 août 2007 à 14:12
Bonjour à tous,
Voilà mon problème :
J'ai une page PHP contenant deux listes.
Ma première liste est remplie via une requete sur mon serveur (je possède EasyPHP).
Au clique sur une valeur de la liste, je veux mettre à jour ma seconde liste.
Pour effectuer cela, j'utilise le code suivant :
function requestmenu(f)
{
var l1 = f.elements["list1"]; //Prendre de la liste des briques
var l2 = f.elements["list2"]; //Prendre la liste des lignes de produit
var index = l1.selectedIndex; // Prendre la valeur sélectionnée dans la liste des briques
<legend>Faites un choix dans la liste de gauche
et observez le résultat dans celle de droite</legend>
<?php
//On sélectionne toutes les lignes de produit
$sql="SELECT DISTINCT (BRIQUE)
FROM ligne_produits
ORDER BY DOM_VENTE ASC";
//On exécute la requete
$req= mysql_query($sql);
//on créer une liste de lignes de produit
echo '<select name="list1" id="list1" onchange="requestmenu(this.form)">
<option value="" selected="selected">-*- BRIQUES -*-</option>';
while($row = mysql_fetch_array($req))
{
echo '<option value="'.$row['BRIQUE'].'">'.$row['BRIQUE'].'</option>';
}
echo '</select>
';
?>
<select name="list2" id="list2" class="ButtonL">
<option value="" selected="selected">-*- LIGNES DE PRODUIT -*-</option>
Sous FF (v1.5.0.7) : rien ne se passe quand je clique sur un choix.
Sous Ie (v 6.0) :j'obtiens un message "syntax error" au niveau de ma fonction eval( ... ).
Ma question : Pouvez vous m'aider à comprendre pourquoi la fonction eval me pose problème ?
Note : La connexion à la BD et l'affichage de la première liste se fait correctement mais j'ai l'impression que je rentre correctement dans la fonction requestmenu(f) uniquement quand je choisi la premiere valeur de ma list1, soit la valeur déjà mise en selected.
Je vous remercie d'avance et j'espère que vous pourrez me venir en aide.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 août 2007 à 12:27
il est vrai que mon exemple n'est pas avec ajax, mais au fond,
ça ne change pas grand chose.
la réponse du php sera affichée ou gérée par le javascript.
<hr />
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 14 août 2007 à 12:11
Bonjour,
lu chez SelfHTML,
eval()
Interprète un argument à transmettre et renvoie le résultat.
Si l'argument transmis peut être interprété comme une opération de calcul,
l'opération est effectuée et son résultat est retourné.
Cette méthode permet aussi des opérations de calcul complexes avec expressions entre parenthèses.
Cette fonctionnalité est très pratique pour, avec une seule commande, faire calculer des opérations
notées en tant que chaînes de caractères.
Si l'argument transmis peut être interprété en tant qu'objet ou propriété d'objet, l'objet ou la propriété
d'objet est retournée.
Ce qui est important quand une chaîne de caractères (par exemple le contenu d'un champ de formulaire
ou le paramètre transmis à une fonction) doit être interprété en tant qu'objet.
Provoque un message d'erreur si l'expression transmise ne peut être interprétée.
on ne peut donc pas faire eval ici sur une réponse de php.
pasdie
Messages postés2Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention14 août 2007 14 août 2007 à 13:58
Merci beaucoup! Vous êtes bien la première personne qui a pu me renseigner complètement ! Mais vous savez, c'est bizare que l'eval ne puisse pas fonctionner, enfin dans ce cas là oui...je suis d'accord, mais sur un tuto javascript, le code source était réalisé de cette manière et on traitait des noms...Cependant dans le forum accolé au tuto tout le monde se plaignait qu'eval() ne marchait pas !
En tout cas je vous remercie et les URL fournient je pense, pourront m'être d'une grande aide :)