Effet du script : Décalage sous IE ?!
Bonjour,
C'est quand même difficile de trouver un titre accrocheur !
Bon alors mon problème du moment :
J'ai un checkbox qui "contrôle" (active/désactive) une partie des élément de mon formulaire. Par exemple
Code:
1 2 3 4
|
[X] use web space
[ ] use MVC
[ ] use style.css |
Si use_web_space n'est pas coché, je veux rendre inactif la sous partie (use mvc & cie) ; si il est coché je veux remettre à actif.
J'ai donc ce script :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
<script type="text/javascript">
var elements = new Array;
function enable(id) {
_disable(id, false)
}
function disable(id) {
_disable(id, true)
}
function _disable(id, disable) {
el = document.getElementById(id);
if (el) {
if (disable) {
el.className = el.className.replace(/enabled/, 'disabled');
} else {
el.className = el.className.replace(/disabled/, 'enabled');
}
if (elements[id]) {
for(i = 0 ; i < elements[id].length ; i++) {
el = document.getElementById(elements[id][i]);
if (el) {
el.disabled = disable;
}
}
}
}
}
</script> |
Plus ce code html :
Code:
1 2 3 4 5 6 7 8
| <input type="checkbox" checked="checked" name="use_web_space" id="use_web_space" onchange="this.checked?enable('use_web_space_options'):disable('use_web_space_options')"/><label for="use_web_space">Use web space</label>
<div id="use_web_space_options" class="enabled">
<div><input type="checkbox" name="use_mvc" id="use_mvc" /><label for="use_mvc">Use MVC</label></div>
<div><input type="checkbox" name="use_css" id="use_css" /><label for="use_css">Use style.css</label></div>
</div>
<script type="text/javascript">
elements['use_web_space_options'] = new Array('use_mvc', 'use_css');
</script> |
Sous Fx impeccable (qui a dit normal ???)
Sous IE ça merdouille (qui a encore dit normal ???)
En effet le style et le disabled n'est pas appliqué immédiatemnt sous IE, il y a un décalage, il faut que je clique n'importe où sur la page pour voir les effets du script.
Merci d'avance pour tout aide !