Liste déroulante et champ texte activable/désactivable

Liste déroulante et champ texte activable/désactivable - HTML/CSS - Programmation

Marsh Posté le 09-03-2006 à 14:25:00    

Bonjour,
 
Voici un petit problème pour lequel je n'ai pas pu trouvé de solution ailleurs. N'étant pas un pro de DHTML, je fais appel à toutes les bonnes volontés....
 
Le problème:
 
J'ai une liste déroulante avec un certain nombre d'items ainsi qu'un champ texte désactivé (disabled) qui accompagne cette liste.
Je voudrais que, lorsque l'utilisateur sélectionne un item bien particulier de la liste (par exemple, une entrée nommée "Autre" ), le champ texte puisse être désactivé pour pouvoir y insérer du contenu.
Si l'utilisateur sélectionne à nouveau une autre entrée (différente de "Autre" ) de la liste déroulante, le champ texte se désactive à nouveau.
 
 
Pouvez-vous m'aider ?
 
Un très grand merci d'avance,
 
Buzz cola

Reply

Marsh Posté le 09-03-2006 à 14:25:00   

Reply

Marsh Posté le 09-03-2006 à 14:47:34    

Bon... il faut que tu mette un id à ta liste déroulante, par exemple sel, et un id à ton champ de type texte, par exemple test (Après tu adapteras pour que ça soit plus parlant dans ton script).
 
Il te faut gérer l'évènement onchange de ta liste déroulante... (je précise que je suis loin d'être un pro en JS donc d'autres auraient surement fait mieux.
 

Code :
  1. <script type="text/javascript">
  2. window.onload = function() {
  3.    document.getElementById("test" ).disabled = true; // on commence par désactiver le champ texte
  4.    document.getElementById("sel" ).onchange = function() {
  5.       document.getElementById("test" ).disabled = (document.getElementById("sel" ).value!="Autre" );
  6.    }
  7. }
  8. </script>


---------------
♈ ♋ ♌ ♍ ♎ ♏ - Agora Fidelio | Galerie d'art Toulousaine
Reply

Marsh Posté le 09-03-2006 à 15:56:43    

j_lecruel a écrit :

Bon... il faut que tu mette un id à ta liste déroulante, par exemple sel, et un id à ton champ de type texte, par exemple test (Après tu adapteras pour que ça soit plus parlant dans ton script).
 
Il te faut gérer l'évènement onchange de ta liste déroulante... (je précise que je suis loin d'être un pro en JS donc d'autres auraient surement fait mieux.
 

Code :
  1. <script type="text/javascript">
  2. window.onload = function() {
  3.    document.getElementById("test" ).disabled = true; // on commence par désactiver le champ texte
  4.    document.getElementById("sel" ).onchange = function() {
  5.       document.getElementById("test" ).disabled = (document.getElementById("sel" ).value!="Autre" );
  6.    }
  7. }
  8. </script>



 
C'est super, ça marche !
 
Un très grand merci à vous, car je me suis cassé la tête pendant logntemps sans trouver la solution !

Reply

Sujets relatifs:

Leave a Replay

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