[JS] - onchange
Résolu
ben85350
Messages postés
622
Statut
Membre
-
Dalida Messages postés 7114 Date d'inscription Statut Contributeur Dernière intervention -
Dalida Messages postés 7114 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai dans mon formulaire, une liste d'informations (liste déroulante). J'ai aussi une case à cocher. J'aimerais que lorsque l'on coche cette case, notre liste déroulante se grise, j'ai donc ce début de code en javascript qui s'applique au checkbox (<input type="checkbox" name="monCheck" id="monCheck" onChange="griser()" />):
J'ai dans mon formulaire, une liste d'informations (liste déroulante). J'ai aussi une case à cocher. J'aimerais que lorsque l'on coche cette case, notre liste déroulante se grise, j'ai donc ce début de code en javascript qui s'applique au checkbox (<input type="checkbox" name="monCheck" id="monCheck" onChange="griser()" />):
function griser()
{
var chk = document.getElementById('monCheck').checked;
var liste = document.getElementById('monSelect').disabled;
if (chk == true){
document.getElementById('monSelect').disabled ="true";
}
}Le problème est que ma liste déroulante reste grise et inaccessible même si on décoche la case. Donc si vous trouver une solution je suis preneur ^^. Merci
A voir également:
- [JS] - onchange
- Js arrondir - Forum Webmastering
- Please enable js and disable any ad blocker ✓ - Forum Services en ligne
- Js/packed.agent.n ✓ - Forum Virus
- Arrondir js ✓ - Forum Windows
- Isset js ✓ - Forum Javascript
4 réponses
salut,
as-tu fais des tests pour savoir si tu gères bien l'évènement ?
es-tu en XHTML ? si oui, essaie avec "onchange".
et au passage tu peux simplifier en :
je vais regarder, je ne suis pas sûr que onchange fonctionne pour toutes les balises et tous les navigateurs.
tu as testé avec quoi d'ailleurs ?
as-tu fais des tests pour savoir si tu gères bien l'évènement ?
es-tu en XHTML ? si oui, essaie avec "onchange".
et au passage tu peux simplifier en :
function griser()
{
document.getElementById('monSelect').disabled =document.getElementById('monCheck').checked;
}
je vais regarder, je ne suis pas sûr que onchange fonctionne pour toutes les balises et tous les navigateurs.
tu as testé avec quoi d'ailleurs ?
non, pas de change pour checkbox.
source
tu peux utiliser onclick mais qui ne tiendra pas compte des changements effectués au clavier ou lancer une boucle qui surveille en permanence l'état du checkbox.
change
L'événement change advient quand une zone de saisie perd l'attention ou quand sa valeur est modifiée depuis qu'elle a l'attention. Cet événement s'applique aux éléments INPUT, SELECT et TEXTAREA.
source
tu peux utiliser onclick mais qui ne tiendra pas compte des changements effectués au clavier ou lancer une boucle qui surveille en permanence l'état du checkbox.
Seul problème : si la case est coché par défaut au chargement de la page (étant donné qu'il n'y a aucune action)
donc mieux vaut ajouter une boucle qui surveille l'état de la case à cocher :
et tu la lances sur le onload :
function loop(){
document.getElementById('monSelect').disabled = document.getElementById('monCheck').checked;
setTimeout("loop()",200);
return true
}
et tu la lances sur le onload :
<body onload="loop();">