
J'ai le script suivant:
Code : Tout sélectionner
var select = document.getElementById('select');
select.setAttribute('onchange', 'javascript:DisableEnable(this)');
function DisableEnable(select) {
var selected_option = select.options[select.selectedIndex].value;
var other_field = document.getElementById('other_field');
if (selected_option == 'o') {
other_field.removeAttribute('disabled');
}
else {
other_field.setAttribute('disabled', 'disabled');
}
}
Maintenant, si ce champ est lui-même un <select> qui contient un 'other' sur un autre champ (c'est tordu mais c'est comme ça), et si ce champ était justement sur 'other' avec son champ other (appelons-le field_other_other) activé, et que je change le premier champ, field_other est bien désactivé, mais malheureusement field_other_other, lui, reste activé.
Je ne sais pas si vous m'avez suivi... j'espère

J'aimerais donc pouvoir déclencher un évènement onchange sur field_other afin de récurser et désactiver aussi field_other_other.
J'ai donc essayé de faire other_field.onchange mais ça ne fonctionne pas (pas de message d'erreur non plus, visiblement).
Ma question est donc : y a-t-il un moyen de déclencher un onchange dans un script, sans intervention de l'utilisateur ?
Question subsidiaire : pourquoi est-ce que
Code : Tout sélectionner
select_element.addEventListener('change', DisableEnable(select), false);
Merci

Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.0.8) Gecko/20061025 Firefox/1.5.0.8
Edit: majuscule mal placée

Edit2: a->e, merci Myahoo