Bonjour,

J'ai plusieurs listes déroulantes, fonctionnant 2 par 2.
En fonction de la valeur d'une variable x, mes listes déroulantes s'appellent :
x=1 --> type1 et geno1
x=2 --> type2 et geno2
...

Lorsque je choisi une valeur dans la 1ere, si elle est égale a 'autre', je veux désactiver ma 2eme liste déroulante.

Sur la 1ere liste, j'ai onChange : test_val(x)

et voila le code de ma fonction test_val:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
function test_val(param){
if (document.getElementById(\'type'+param+'\').options[document.getElementById(\'type'+param+'\').selectedIndex].text=='autre') 
{ 
  alert('ok');
  alert ('2eme liste : document.form.geno'+param+'.disabled = true');
} 
else 
{ 
  alert('pas ok');
}
}
Le test marche bien, puisque les messages "ok" et "pas ok" s'affiche aux moments voulu, c'est a dire que "ok" s'affiche quand "autre" est sélectionné dans la 1ere liste, sinon, "pas ok" s'affiche.

D'apres ce que j'ai trouvé sur un autre forum (http://www.webrankinfo.com/forums/viewtopic_11523.htm), il faut bien utiliser la proprieté disabled.

Ceci semble s'afficher correctement, mais comment le faire executer?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
  alert ('2eme liste : document.form.geno'+param+'.disabled = true');
J'ai essayer de mettre directement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
document.form.geno+param+.disabled = true;
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
'document.form.geno'+param+'.disabled = true';
mais la concatenation pose un probleme.
Sans une de ces 2 lignes, le code javascript s'execute normalement. Si une des 2 est présente, plus de javascript et il y a le message d'erreur "Erreur de syntaxe".

Est ce que quelqu un voit comment faire?

Merci d'avance pour votre attention.
Linou

PS : J'ai bien vu le post ce post sur les listes déroulantes liées entre elles, mais la solution ne se trouve pas la.