Récupérer un tableau de checkbox !
Bonjour tout le monde !
Voila j'ai un petit souci (assez génant car bloque l'avancement du projet) lors de l'activation de certain checkbox, je m'explique.
J'ai un form avec plusieurs checkbox disabled par defaut en fonction de la section d'un menu select j'enable certains checkbox !
voici une portion du code :
Ma fonction javascript
Code:
1 2 3 4 5 6 7 8
|
function activation(valeur){
document.stats.metier[].disabled=true; //je disabled tout avant d'enable
if(valeur=="RRR"){
//alert(document.stats.metier['16'].value);
document.stats.metier[16].disabled=false;
}
} |
Mon formulaire (j'ai épuré les choses inutiles)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
<form method="post" action="suite.php" target="_blank" name="stats">
<select name="client" onChange="Javascript:activation(this.value);">
<option value="all">Tous</option>
<option value="RRR">RRR</option>
<option value="TTT">TTT</option>
</select>
<input type="checkbox" disabled id="id_reqOne0" name="metier[0]" OnClick="setCheckboxesRange('stats', false, 'id_reqTwo', 0, 9);">
<input type="checkbox" disabled id="id_reqOne1" name="metier[1]" OnClick="setCheckboxesRange('stats', false, 'id_reqTwo', 0, 9);">
<input type="checkbox" disabled id="id_reqOne2" name="metier[2]" OnClick="setCheckboxesRange('stats', false, 'id_reqTwo', 0, 9);">
<input type="checkbox" disabled id="id_reqOne3" name="metier[3]" OnClick="setCheckboxesRange('stats', false, 'id_reqTwo', 0, 9);">
....
<input type='button' name='Visualiser' value='Visualiser' onClick='javascript:document.stats.action.value="view";valider();'> |
Merci d'avance !
Re: Récupérer un tableau de checkbox !
Citation:
Envoyé par SunSyS
document.stats.metier[].disabled=true;
Ca tu ne peux pas le faire. Ce n'est pas parceque dans les noms de tes checkbox tu as un nom du type blabla[23] que javascript va faire de liens entre ces checkboxs.... PHP le fait pour t'aider, mais pas javascript.
Alors en javascript, il faut boucler:
Code:
1 2 3 4 5 6 7
|
var inputs = document.stats.elements;
for (var i=0; i<inputs.length; i++) {
if (inputs[i].tagName='input'&&inputs[i].type=='checkbox'&&inputs[i].name.substring(0,7)=='metier[') {
inputs[i].disabled=true
}
} |
Ensuite, comme tes inputs ont, pour javascript, des noms exotiques avec des [] dedans, il faut utiliser systématiquement le vecteur des elements:
Citation:
Envoyé par SunSyS
document.stats.metier[16].disabled=false;
:arrow:
Code:
1 2
|
document.stats.elements['metier[16]'].disabled=false; |