2010-08-10 3 views
1

> Activé > Désactivé valeur get d'une liste

...

function my_field_change() 
{ 
    var my_value = document.forms[0].my_field.value; 
    ... 
    if (dhcp_relay == "1") { 
     document.forms[0].some_other_field.disabled = 1; 
    } 
    ... 
} 

Dans la fonction "my_field_change()" Je me attends d'avoir 'MY_VALUE' égale à 1, soit ou 0, peu cela n'arrivera pas. Qu'est-ce que je fais mal?

+0

Où utilisez-vous 'my_value' en dehors de le mettre? Loosk comme vous voulez 'dhcp_relay' mis à 1, mais je ne vois pas où vous utilisez' my_value' sinon ... =/ –

+0

Votre [select] est-il dans un élément [form]? Juste au cas où c'est un problème, puisque document.forms ne fonctionnera évidemment pas sans un formulaire. S'il y en a un, je trouve que j'ai plus de chance de référencer les formulaires par leur nom. –

Répondre

1

Vous devez obtenir la valeur associée à l'index sélectionné:

var my_value = document.forms[0].my_field[document.forms[0].my_field.selectedIndex].value; 

Si vous ne pouvez pas obtenir que pour travailler, une autre option est de mettre à jour le code HTML à utiliser un identifiant et référence identifiant spécifiquement dans le javascript:

<select id="my_field" name="my_field" onChange="my_field_change();"> 
    <option value="1" <% nvram_match("my_field", "1", "selected"); %>>Enabled</option> 
    <option value="0" <% nvram_match("my_field", "0", "selected"); %>>Disabled</option> 
</select> 

...

function my_field_change() 
{ 
    var select = document.getElementById("my_field"); 
    var my_value = select[select.selectedIndex].value; 
    ... 
} 
+0

désolé pour erreur, devrait être si (my_value == "1") ... – Mark

+0

JGB146, j'ai essayé votre suggestion, mais ne fonctionne pas malheureusement. – Mark

+0

Est-ce que votre '