Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

truc machin bidule

4 réponses
Avatar
Dindus
hello

voilà mon soucis, j'ai une colonne de cases à cocher.
En php je les nomme de 0 à n pour pouvoir recuperer leur valeur avec une
boucle.

cependant, j'aimerais verifier qu'il y en ait bien une de coché avant de
lancer le traitement
pour ca, j'aimerais tester le valeur checked en javascript

var i=0;
while(i<form.nb_cases.value)
{
if ('form.i.checked'==true)
return true;
i++;
}

comment faire pour que i dans form.i.checked soit interpreté comme la valeur
de la variable i et non le caractère i ???

Merci d'avance
Greg

4 réponses

Avatar
Thibault
Dindus wrote:
hello

voilà mon soucis, j'ai une colonne de cases à cocher.
En php je les nomme de 0 à n pour pouvoir recuperer leur valeur avec une
boucle.

cependant, j'aimerais verifier qu'il y en ait bien une de coché avant de
lancer le traitement
pour ca, j'aimerais tester le valeur checked en javascript

var i=0;
while(i<form.nb_cases.value)
{
if ('form.i.checked'==true)
return true;
i++;
}

comment faire pour que i dans form.i.checked soit interpreté comme la valeur
de la variable i et non le caractère i ???

Merci d'avance
Greg


Salut,


var i=0;
while(i<form.nb_cases.value)
{
if (form.elements[i].checked'==true)
return true;
i++;
}

Ca devrait marcher.
Si c'est pas le cas, met des "vrais" noms à tes elements de formulaire
genre "checkbox0"... "checkboxn", et ensuite
form.elements['checkbox'+i].checked == true

Fait nous savoir si c'est bon.

A+
--
Thibault

Avatar
Bul
bonjour,
<HTML>
<HEAD>
<TITLE></TITLE>
<script type="text/javascript">
function test()
{// 1ère solution
for (var n=0;n<frm.chx.length;n++)
{ alert("name,"+n+"="+frm.chx[n].checked); }
// 2ème solution
var m=0;
var d=window.document.getElementById("chx"+m);
while (d!=null)
{ alert("getElement,"+m+"="+d.checked);
m++;
d=window.document.getElementById("chx"+m); } }
// autres solutions si nécessaire ?
</script>
</HEAD>
<BODY>
<form name="frm">
<input type="checkbox" name="chx" id="chx0">
<input type="checkbox" name="chx" id="chx1">
<input type="checkbox" name="chx" id="chx2">
</form>
<input type="button" onclick="test();">
</BODY></HTML>
@+
Avatar
Dindus
... met des "vrais" noms à tes elements de formulaire
genre "checkbox0"... "checkboxn", et ensuite
form.elements['checkbox'+i].checked == true

Fait nous savoir si c'est bon.

A+
--
Thibault


En effet, form.elements['checkbox'+i].checked fonctionne tres bien,
mais je croyais que form.elements était un tableau contenant les elements du
formulaire numérotés de 0 à n et non accessibles par leur nom ???

comment ca se fait que l'on puisse acceder aux elements du formulaire par
form.elements[0], form.elements[1], ...
et par
form.element[trucbidule], .... ???

Avatar
YD

En effet, form.elements['checkbox'+i].checked fonctionne tres bien,
mais je croyais que form.elements était un tableau contenant les elements du
formulaire numérotés de 0 à n et non accessibles par leur nom ???


Eh bien, cette collection permet un accès soit par un index numérique à partir
de 0 dont l'ordre reprend celui des éléments du formulaire tel qu'il est dans
le code source HTML, soit par un index de type chaîne qui reprend l'attribut
name de l'élément de formulaire, attribut qui n'est pas obligatoire - s'il n'est
pas présent, le numéro d'ordre est alors la seule façon d'accéder par script à
l'élément.

Beaucoup de collections fournies par le navigateur se comportent ainsi, par
exemple images où la chaîne est soit le name soit l'id de l'image à atteindre.

--
Y.D.