activer / desactiver boite déroulante

activer / desactiver boite déroulante - HTML/CSS - Programmation

Marsh Posté le 22-06-2005 à 10:20:25    

Salut,
J'ai une boite déroulante avec des régions française et j'aimerai la désactiver quand la personne change le pays. Je fais ça et ça ne marche pas :  
 
// Si le pays n'est pas la France
if (document.form_xml.country.value != 100) {
  // On met la région à "indifférent" et on désactive le boîte déroulante
  document.form_xml.region.value = -1;
  document.form_xml.region.disabled = 'true';
} else {
  // On réactive la boite deroulante
  document.form_xml.region.disabled = 'false';
}
 
Quelqu'un voit une erreur ?  :??:  
 
Merci.

Reply

Marsh Posté le 22-06-2005 à 10:20:25   

Reply

Marsh Posté le 22-06-2005 à 10:23:43    

Oui. Déjà les trucs style :

document.form_xml.region


C'était en 1995, maintenant ça a changé. Ton tu mets un id sur ton select (ça devrait déjà être le cas, vu que tu maîtrise l'HTML et que t'as mis les libellé des champs dans un label :D )

<label for="region">Région</label>
<select name="region" id="region">
  <option....
</select>


Ensuite c'est pas 'true' qu'il faut mettre, mais true (sans les quotes). Il veut un booléen, pas une chaîne de caractères :) Pareil pour la value de region, tu lui donne un entier, alors qu'une valeur de champs est une chaîne de caractères :

var region = document.getElementById("region" );  
if (region.value != '100') {
  // On met la région à "indifférent" et on désactive le boîte déroulante
  region.value = -1;
  region.disabled = true;
} else {
  // On réactive la boite deroulante
  region.disabled = false;
}


Reply

Marsh Posté le 22-06-2005 à 10:30:43    

Ok merci ça marche ;)
 
Pour les id je les avaient bien mis sur les select mais pour document.getElementById("region" );  je vois pas trop ce que ça change par rapport à document.form_xml.region mis à part que c'est plus vieux ?

Reply

Marsh Posté le 22-06-2005 à 10:47:11    

C'est vieux effectivement. Deprecated si tu veux, donc ce sont des méthodes qui ont été remplacées par des trucs plus neufs. Ca marche toujours, mais c'est déconseillé ;) Et avec document.getElementById, tu peux aller frimer style "moi j'utilise des méthodes DOM dans mes scripts" :sol:

Reply

Marsh Posté le 22-06-2005 à 11:02:58    

lol ok !!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed