bonjour,
j'ai un formulaire avec une case à cocher et 3 boutons radio
ce que je voudrais, c'est de bloqué l'accès aux boutons radio si la case à cochée est cochée => comment faire ?
bonjour,
j'ai un formulaire avec une case à cocher et 3 boutons radio
ce que je voudrais, c'est de bloqué l'accès aux boutons radio si la case à cochée est cochée => comment faire ?
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <input type="checkbox" onclick="document.getElementById('radiobutton').style.display=(this.checked)?'none':'block'" /> <div id="radiobutton"> <input type="radio" /> <input type="radio" /> <input type="radio" /> </div>
merci,
mais je ne veux pas qu'ils disparaissent, je veux qu'ils deviennent inselectionnable...
de plus, la case est cochée par defaut => a l'affichage pour la premiere fois de la page ça ne bloque pas mes radio boutons...
Code : Sélectionner tout - Visualiser dans une fenêtre à part <input type="checkbox" onclick="document.getElementById('radiobutton').disabled = this.checked;" />
Ben adapte le code, je t'ai montré la démarche.
Tu as juste une boucle à faire sur les boutons radio présents dans le div radiobutton et de tous les basculer à disabled ...
Et pour tester au chargement de ta page tu mets le test également dans le onload du body.
ok merci
par contre j'aimerais faire une fonction CacheElement pour que ça soit plus simple à utiliser
j'ai essayé ça mais ça n'a pas l'air de marcher :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <label><input type="checkbox" name="toto" checked="checked" onclick="CacheElement('element1')" /> Mode Auto</label><br/>PS : desolé, je suis une quiche en javascript...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function CacheElement(Nom) { alert(Nom); document.getElementById(Nom).style.display=(this.checked)?'none':'block'; }
remplace disabled par readonlyEnvoyé par Emcy
readonly ne fonctionne a priori pas (contrairement a disable)
actuellement ça fonctionne avec cette methode :
=> le probleme est qu'il faut rentrer le nom de la checkbox a chaque fois (donc perte de l'utilité d'utiliser une fonction) : comment faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 function DisableElement(Nom) { var boutons = document.getElementById(Nom).getElementsByTagName('input'); for(var i = 0; i <= boutons.length-1; i++) { boutons[i].disabled = document.Nomformulaire.NomCheckbox.checked; } }
Y a emmêlage, là, non ?Envoyé par Matthieu2000
A+
Seul IE permet la confusion entre NAME et ID !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part var boutons = document.getElementById(ID);
Donner un ID à ta checkbox et le passer en paramètre à la fonction (puisque c'est lui qui est attendu et non le name) ...
A+
il me semble que tu n'as pas bien compris mon probleme...
dans ma page j'ai :
lorsque je clic sur une checkbox, je lance le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <div id="GLOBALConf"> <p> Data Transfer Rate :<br/> <label><input type="radio" name="debit1" value="0" /> 10 Mbits/s</label><br/> <label><input type="radio" name="debit1" value="1" checked="checked" /> 100 Mbits/s</label> </p> <p> Transmission Mode :<br/> <label><input type="radio" name="duplex1" value="0" /> Half-Duplex</label><br/> <label><input type="radio" name="duplex1" value="1" checked="checked" /> Full-Duplex</label> </p> </div>
=> sous IE7, ça me grise ma zone mais pas sous firefox...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function DisableElement() { var myZone = document.getElementById('GLOBALConf'); myZone.disabled = true; }
Ben c'est à dire : je fais avec ce que j'ai, à savoir ton code !Envoyé par Emcy
Si il change en off, je suis pas devin.
L'ID en dur est une mauvaise idée.
A+
...j'ai fait un exemple simple pour que vous compreniez
le probleme est que lorsque je mets disable à true (c'est la le probleme) ça ne fait rien sous firefox : que dois-je faire ?
Si le code donné correspond à celui que tu testes, il n'y a aucune raison.
Essaye toujours :A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part document.getElementById('GLOBALConf').setAttribute("disabled", "disabled");
ça fait exactement la meme chose
=> on dirait que firefox n'aime pas les disable sur un div..
une autre solution ?
Disabled n'est pas un attribut d'un div ..
Cf : http://giminik.developpez.com/xhtml/div.html
Tu peux pour "simuler" cet état passer la couleur du background du div en gris.
Effectivement, ce qui aurait été inquiétant c'es tque ça fonctionneEnvoyé par Bisûnûrs
![]()
Ceci dit, sur mon bete (++) IE 6, un disabled=true (et non disabled) sur un div disable effectivement les éléments qu'il contient.
A+
Partager