J'essai de liées des listes dans un formulaire, mais après mon choix rien ne se passe.. Mais je n'ai pas d'erreur..
Page appelante :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Acquisition species variant</title>
<head>
<script type="text/javascript">
function request05(liste)
{
var l1 = f.elements["list1"];
var l2 = f.elements["list2"];
var index = l1.selectedIndex;
if(index < 1)
l2.options.length = 0;
else{
var xhr_object = null;
if(window.XMLHttpRequest)// Firefox
xhr_object = new XMLHttpRequest();
elseif(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.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = "speciesvariant_name="+escape(l1.options[index].value)+"&form="+f.name+"&select=list2";
xhr_object.send(data);
}
oulah....
tu utilises ajax, ça retourne du texte dans une variable javascript !
donc, si je lis bien :
echo 'var o = null;';
echo 'var s = document.forms["'.$_POST["form"].'"].elements["'.$_POST["select"].'"];';
echo 's.options.length = 0;';
???? c'est du javascript ! donc non exécuté !
il faudrait le faire "manuellement"
et dans la même réponse, ça ajoute du html !
echo 's.options[s.options.length] = new Option("'.$r["AGI"].'");';
qui n'est pas affiché non plus ! et pas dans une balise <select>
là aussi, il faut le faire "manuellemnt" !
sans préjuger de ce qui se passe et coté php, et coté javascript !
comme on ne peut pas tester....
t'es sur la mauvaise voie....
tout ce que je peux faire, pour le moment, c'est
te donner un lien où la gestion de listes liées
est abordé : c'est ici
>>Pour faire l'AJAX j'ai suivi un tuto..
certes... tu a simplement shunté que le script sur le serveur
retourne des données, du texte brut... qui doit être exploité
par le javascript.
nickel si ça baigne.
>>Maintenant je vais essayer d'en lier plusieurs..
3 ou plus, un ch'tiot peu plus complexe, mais
ce n'est au fond, qu'une "généralisation" de
2 listes ;o))