Bonjour,
J'utilise un script trouvé sur ce site pour vérifier en JavaScript si des cases sont cochées dans un formulaire (
http://www.javascriptfr.com/codes/CONTROLER-NOMBRE-CHECKBOX-CLIQUEES_22913.aspx).
Ce formulaire est généré automatiquement par un script PHP.
Si dans ce formulaire j'ai plusieurs cases à cocher, le script fonctionne correctement.
Par contre, si je n'ai qu'une seule case à cocher, lorsque je la coche, j'ai ce message d'erreur :
'document.form.list_check[...].checked' a la valeur Null ou n'est pas un objet.
et le script ne semble pas détecter que j'ai cocher la case.
Je ne comprends pas ce qui génère cette erreur.
Voici le contenu de ma page :
<HTML>
<HEAD><META HTTP-EQUIV=
"Content-Type" CONTENT=
"text/html; charset=windows-1252"><TITLE></TITLE><script language=
"javascript"><!--
//nb max de choix possible
varnbre_max=1;
varnbre=0;
varstr='';
varurl=newArray(nbre_max+1);
functioncheckbox(num){
if((
document.form.list_check[num].checked)==true){
nbre++;
document.getElementById('cadre_infos').innerHTML='<TABLE BORDER=0 BGCOLOR=#00FF00><TR><TD>Tu as coch? '+nbre+' cases.</TD></TR></TABLE>';
} else {
nbre--;
document.getElementById('cadre_infos').innerHTML='<TABLE BORDER=0 BGCOLOR=#00FF00><TR><TD>Tu as coch? '+nbre+' cases.</TD></TR></TABLE>';
}
if(
nbre>nbre_max){
document.getElementById('cadre_infos').innerHTML='<TABLE BORDER=0 BGCOLOR=#FF0000><TR><TD>Tu as coch? '+nbre+' cases.<BR>Si tu valides maintenant rien ne sera comptabilis?.</TD></TR></TABLE>';
}
if(
nbre==1){
document.getElementById('cadre_infos').innerHTML='<TABLE BORDER=0 BGCOLOR=#00FF00><TR><TD>Tu as coch? 1 case.</TD></TR></TABLE>';
}
if(
nbre==0){
document.getElementById('cadre_infos').innerHTML='<TABLE BORDER=0 BGCOLOR=#FF0000><TR><TD>Tu n\'as pas encore coch? de case.<BR>Si tu valides maintenant rien sera comptabilis?.</TD></TR></TABLE>';
}
}
functionverif(){
for(
y=0;y<document.form.list_check.length;y++){
if(
document.form.list_check[y].checked==true)
{
str=str+"&a[]="+y;
}
}
str=str.substring(1,str.length);
document.form.action="etape_suivante.php?"+str;
document.form.submit();
}
//-->
</script></HEAD><BODY BGCOLOR=
"#FFFFFF" TEXT=
"#000000" LINK=
"#0000FF" VLINK=
"#0000FF" ALINK=
"#FF0000" LEFTMARGIN=
"0" TOPMARGIN=
"0" MARGINWIDTH=
"0" MARGINHEIGHT=
"0">Choix :
<P>S?lectionner 1 case dans la liste ci-dessous, puis cliquer sur 'suivant' :
<P><FORM METHOD=
"POST" NAME=
"form" onsubmit=
"returnfalse"><TABLE BORDER=
0 ALIGN=CENTER CELLPADDING=
1 CELLSPACING=
2 SUMMARY=
""><TR name=
"ligne"><TD ALIGN=left VALIGN=middle NOWRAP
>Case 1
</TD><TD ALIGN=center VALIGN=middle NOWRAP
><INPUT TYPE=
"checkbox" NAME=
"list_check" VALUE=
"1" OnClick=
"checkbox(0)"></TD></TR></TABLE><INPUT TYPE=
"submit" VALUE=
" suivant " OnClick=
"verif()"></FORM><DIV NAME=
"cadre_infos" ID=
"cadre_infos"><TABLE BORDER=
0 BGCOLOR=
#FF0000><TR><TD>Tu n'as pas encore coch? de case.
<BR>Si tu valides maintenant rien ne sera comptabilis?.
</TD></TR></TABLE></DIV></BODY></HTML>Y aurait-il une variable à déclarer ou initialiser ?
Merci d'avance pour vos infos et remarques.
Cordialement.
Jérôme