<script language="javascript">
function changeRead(nb)
{
var boucle = parseFloat(nb) + parseFloat(1) ;
//Débloquez tous
for(i=1;i<6;i++)
{
divObj = document.getElementById('champ'+i);
divInfo = document.getElementById('info'+i);
if(divObj)
{
divObj.readOnly="readonly";
divInfo.innerHTML="Read Only";
}
}
//Bloquer
for(i=1;i<boucle;i++)
{
divObj = document.getElementById('champ'+i);
divInfo = document.getElementById('info'+i);
if(divObj)
{
divObj.readOnly=false;
divInfo.innerHTML="Read Only OFF";
}
}
}
</script>
Nombre de champ (non en readonly)<select name="nb_champ" onchange="changeRead(this.value)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select> <br />
<input name="champ1" id="champ1" type="text" size="30" /><span id="info1">Read Only Off</span><br />
<input name="champ2" id="champ2" type="text" size="30" readonly="readonly"/><span id="info2">Read Only</span><br />
<input name="champ3" id="champ3" type="text" size="30" readonly="readonly"/><span id="info3">Read Only</span><br />
<input name="champ4" id="champ4" type="text" size="30" readonly="readonly"/><span id="info4">Read Only</span><br />
<input name="champ5" id="champ5" type="text" size="30" readonly="readonly"/><span id="info5">Read Only</span><br />
++
<script language="javascript">
function changeRead(nb,size) {
for(var i=1;i<size;i++) {
if(document.getElementById('champ'+i)) {
document.getElementById('champ'+i).readOnly = (i<nb) ? false : "readOnly" ;
document.getElementById('info'+i).innerHTML = (i<nb) ? "Read Only OFF" : "Read Only";
}
}
</script>
changeRead(this.options[this.selectedIndex].value, this.length);
Nota : pensez au "var" dans le for(var i=1; ...), sinon le i est considéré comme global et peut poser problème avec d'autres scripts qui pourraient tourner en paralèlle
Code : Tout sélectionner
forms['id-du-formulaire'].elements.['id-du-champ-a-modifier'].style.backgroundColor = 'inherit';
Code : Tout sélectionner
document.getElementById('gymnase'+i).style.backgroundColor = '#fff';
Arf ouep, j'ai loupé le fait que dans sa variable boucle il ajoutait 1. Le mieux du coup c'est de faire partir le for() de 0Ryle, ton code est beaucoup plus simplifié mais je en comprend pas quelque chose. Il est en retard d'un nombre lol
Quand je choisis 1, aucun champ n'est actif, 2, un seul est actif...etc
Code : Tout sélectionner
function changeRead(nb,size) {
for(var i=0;i<size;i++) {
if(document.getElementById('champ'+i)) {
document.getElementById('champ'+i).readOnly = (i<nb) ? false : "readOnly" ;
document.getElementById('champ'+i).style.backgroundColor = (i<nb) ? "#fff" : "#c0c0c0" ;
document.getElementById('info'+i).innerHTML = (i<nb) ? "Read Only OFF" : "Read Only";
}
}
}Oui, mais moi j'aime les accolades, et quand on aime, on ne compte pasTu as oublié un tit } à la fin
C'est effectivement une excuse tout à fait déplorable, ha il est joli l'exemple donné aux débutants tiensOui, mais moi j'aime les accolades, et quand on aime, on ne compte pasTu as oublié un tit } à la fin
(comment ça c'est nul comme excuse ?!)