Checkbox choix limité [Résolu]

Signaler
Messages postés
6
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004
-
Messages postés
6
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004
-
Bonjour à tous,

voilà je dois développer un formulaire qui renvoie vers une page php. Seulement voilà, il y a un checkbox à sélection multiple, et il ne doit pas y avoir plus de deux checkbox cochés, ni moins de 1. Je débute en Javascript, j'ai fais une ptite fonction, mais cà n'a pas l'air de marcher comme il se doit...

dans la balise <head>

<script language="javascript">

var nbre=0;
var i=0;
function verif(){
for (i=0; i<7;i++)
{
if ((document.form.list_surf[i].checked)==true)
{
nbre=nbre+1;
}
else
{
nbre = nbre;
}
}
if (nbre>=3)
{
alert('Ne sélectionnez pas plus de 3 cases ');
}
else
{
if (nbre==0)
{
alert('Sélectionnez au moins une case');
}
else
{
document.form.submit();
window.open('selection.php');
}
}
}
</script>

puis dans body

<form name="form" method="post">
1
2

</form>

si quelqu'un peu m'aider....?

9 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
encore mal affiché :
document.form["list_surf[]"][i].checked
@+
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
c'était presque bon ....
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>

<script type="text/javascript">
function verif(){
var nbre=0;
for (i=0; i<form.list_surf.length;i++)
{if (document.form.list_surf[i].checked) {nbre++;} }
if (nbre>3)
{alert('Ne sélectionnez pas plus de 3 cases ');
 return false;} 
else	{if (nbre==0)
{alert('Sélectionnez au moins une case');
 return false;}
 else{return true;} } }
</script>
<form	name="form" method="post" action="selection.php" 
onsubmit="return(verif());">
un
deux
trois
quatre
cinq

</form>
</HTML>

Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
6
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004

Merci beaucoup Bul, ca marche nickel.
Messages postés
6
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004

En fait ca marche bien mais je n'arrive pas à récupérer les valeur des checkbox cochées en php, puisque je ne peux pas déclarer list_surf comme un tableau (list_surf[]), sinon la fonction verif ne marche pas...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
[si à récupérer en php, effectivement br il faut faire list_surf[] br et les traiter en avec br document.form[ list_surf[] si à récupérer en php, effectivement br il faut faire list_surf[] br et les traiter en avec br document.form[ list_surf[]]...
ou mettre un id différent et utiliser
document.getElementById("id unique")...
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
[et comme la syntaxe n est pas évidente : br document.form.[ list_surf[] et comme la syntaxe n est pas évidente : br document.form.[ list_surf[]][i].checked
dans l'exemple
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
6
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004

désolé, mais ca marche pas, erreur de syntaxe javascript.
j'ai mis
document.form.[list_surf[][i]].checked
et comme erreur j'obtiens
Identificateur attendu...
J'ai aussi essayé de mettre des crochets un peu partout, vraiment la je sèche....
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
[message aml affiché, il faut faire : br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code br document.form[ list_surf[] message aml affiché, il faut faire : br table border=0 cellspacing=0 cellpadding=4 bgcolor=#E0E0E0 tr td class=code br document.form[ list_surf[]][i].checked
</td></tr></table>
Cordialement Bul. [Site] [[mailto:marcel.Bultez@Tiscali.fr Mail]]
Messages postés
6
Date d'inscription
mardi 5 octobre 2004
Statut
Membre
Dernière intervention
26 octobre 2004

Merci beaucoup, ca marche. OUF!