Je voudrais valider le formulaire avant envoi.
Dans le formulaire j'ai plusieurs checkbox par catégorie et je voudrais que pour chaque catégorie, au moins une des checkbox est coché.
Pouvez-vous m'aider ?
Merci
Code : Tout sélectionner
function testcheck()
{
$test=false;
for ($i=1; $i<=3; $i++)
{
$choix=document.getElementById('checkbox'+$i).checked;
if ($choix==true)
{
$test=true;
}
}
if ($test==true)
{
document.getElementById('form1').submit();
}else{
alert("Vous devez faire au moins un choix :");
}
}
Code : Tout sélectionner
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="UltraEdit" />
<meta http-equiv="Content-Type" content="text/HTML; charset=utf-8" />
<title>test</title>
</head>
<body>
<script type="text/javascript" src="testcheck.js"></script>
<form id="form1" method="post" action="action.php">
<p>
<input type="checkbox" name="checkbox1" id="checkbox1" value="checkbox" />
<input type="checkbox" name="checkbox2" id="checkbox2" value="checkbox" />
<input type="checkbox" name="checkbox3" id="checkbox3" value="checkbox" />
</p>
<p><input type="button" name="Submit" value="Envoyer" onclick="testcheck()" /></p>
</form>
</body>
</html>
Code : Tout sélectionner
<p>
<input type="checkbox" name="niveau1" value="Loisir" id="niveau1"><label for=niveau1>Loisir</label><br />
<input type="checkbox" name="niveau2" value="Départemental" id="niveau2"><label for=niveau2>Départemental</label><br />
<input type="checkbox" name="niveau3" value="Régional" id="niveau3"><label for=niveau3>Régional</label><br />
<input type="checkbox" name="niveau4" value="National" id="niveau4"><label for=niveau4>National</label>
</p>
<p>
<input type="checkbox" name="categorie1" value="Loisir" id="categorie1"><label for=categorie1>6 * 6</label><br />
<input type="checkbox" name="categorie2" value="Départemental" id="categorie2"><label for=categorie2>4 * 4</label><br />
<input type="checkbox" name="categorie" value="Régional" id="categorie3"><label for=categorie3>3 * 3</label><br />
<input type="checkbox" name="categorie4" value="National" id="categorie4"><label for=categorie4>2 * 2</label>Code : Tout sélectionner
Catergorie 1
checkbox1
checkbox2
checkbox1
Catergorie 2
checkbox1
checkbox2
checkbox1
Catergorie 3
checkbox1
checkbox2
checkbox1
Code : Tout sélectionner
Niveau :
<input type="checkbox" name="niveau1" value="Loisir" id="loisir">Loisir
<input type="checkbox" name="niveau2" value="Départemental" id="dep">Départemental
<input type="checkbox" name="niveau3" value="Régional" id="reg">Régional
<input type="checkbox" name="niveau4" value="National" id="nat">National
Type :
<input type="checkbox" name="type1" value="6 * 6" id="66">6 * 6
<input type="checkbox" name="type2" value="4 * 4" id="44">4 * 4
<input type="checkbox" name="type3" value="3 * 3" id="33">3 * 3
<input type="checkbox" name="type4" value="2 * 2" id="22">2 * 2function testcheck(nbrcat,nbrcbox)
{
testnbrcat=0;
testok=false;
for (i=1; i<=nbrcat; i++)
{
numchk=String(nbrcbox).charAt(i-1);
for (a=1; a<=numchk; a++)
{
if (document.getElementById('cat'+i+'_cbox'+a).checked==true) testok=true;
}
if (testok==true) { testnbrcat=testnbrcat+1; testok=false; }
}
if (testnbrcat==nbrcat)
{
document.getElementById('form1').submit();
}else{
alert("Vous devez faire au moins un choix dans chaque catégorie");
}
}
le formulaire
Code : Tout sélectionner
<script type="text/javascript" src="choix.js"></script>
<form id="form1" method="post" action="action.php">
<p>Catégorie 1
<input type="checkbox" name="checkbox1" id="cat1_cbox1" value="checkbox" />
<input type="checkbox" name="checkbox2" id="cat1_cbox2" value="checkbox" />
<input type="checkbox" name="checkbox3" id="cat1_cbox3" value="checkbox" />
</p>
<p>Catégorie 2
<input type="checkbox" name="checkbox4" id="cat2_cbox1" value="checkbox" />
<input type="checkbox" name="checkbox5" id="cat2_cbox2" value="checkbox" />
<input type="checkbox" name="checkbox6" id="cat2_cbox3" value="checkbox" />
</p>
<p>Catégorie 3
<input type="checkbox" name="checkbox7" id="cat3_cbox1" value="checkbox" />
<input type="checkbox" name="checkbox8" id="cat3_cbox2" value="checkbox" />
<input type="checkbox" name="checkbox9" id="cat3_cbox3" value="checkbox" />
<input type="checkbox" name="checkbox9" id="cat3_cbox4" value="checkbox" />
</p>
<p><input type="button" name="Submit" value="Envoyer" onclick="testcheck('3','334')" /></p>
</form>
Code : Tout sélectionner
<script language="JavaScript">
function verify(theForm)
{
if (theForm.elements['dpt'].value=="0")
{
alert("Merci de sélectionner un département.");
theForm.elements['dpt'].focus();
return false;
}
}
// ici d'autres tests dela même forme
</script>
<form action="xxx.php" method=post name="xxx" onsubmit="return verify(this);">Code : Tout sélectionner
<input type="submit" value="Envoyer">Code : Tout sélectionner
function verify(theForm)
{
testok=testcheck('3','334');
if (theForm.elements['dpt'].value=="0")
{
alert("Merci de sélectionner un département.");
theForm.elements['dpt'].focus();
return false;
}else{
if (testok==false)
{
alert("Vous devez faire au moins un choix dans chaque catégorie");
return false;
}
}
}
Code : Tout sélectionner
function testcheck(nbrcat,nbrcbox)
{
testnbrcat=0;
testok=false;
for (i=1; i<=nbrcat; i++)
{
numchk=String(nbrcbox).charAt(i-1);
for (a=1; a<=numchk; a++)
{
if (document.getElementById('cat'+i+'_cbox'+a).checked==true) testok=true;
}
if (testok==true) { testnbrcat=testnbrcat+1; testok=false; }
}
if (testnbrcat==nbrcat)
{
return true;
}else{
return false;
}
}
Code : Tout sélectionner
if (theForm.elements['mail'].value=="")
{
alert("Merci de saisir votre mail.");
theForm.elements['mail'].focus();
return false;
}
if (theForm.elements['mail'].value!="")
{
if ((theForm.elements['mail'].value.indexOf('@')==-1) || (theForm.elements['mail'].value.indexOf('.')==-1))
{
alert("L\'adresse e-mail saisie est invalide.");
theForm.elements['mail'].focus();
return false;
}
}
return true;Code : Tout sélectionner
<script language="JavaScript">
function verify(theForm)
{
testok=testcheck('2','44');
if (theForm.elements['cp'].value=="")
{
alert("cp à indiquer.");
theForm.elements['cp'].focus();
return false;
}
else if (theForm.elements['lieu'].value=="")
{
alert("lieu à indiquer.");
theForm.elements['lieu'].focus();
return false;
}
else if (theForm.elements['mail'].value=="")
{
alert("Merci de saisir votre mail.");
theForm.elements['mail'].focus();
return false;
}
else if (theForm.elements['mail'].value!="")
{
if ((theForm.elements['mail'].value.indexOf('@')==-1) || (theForm.elements['mail'].value.indexOf('.')==-1))
{
alert("L\'adresse e-mail saisie est invalide.");
theForm.elements['mail'].focus();
return false;
}
}
return true;
else
{
if (testok==false)
{
alert("Vous devez faire au moins un choix dans chaque catégorie");
return false;
}
}
}
function testcheck(nbrcat,nbrcbox)
{
testnbrcat=0;
testok=false;
for (i=1; i<=nbrcat; i++)
{
numchk=String(nbrcbox).charAt(i-1);
for (a=1; a<=numchk; a++)
{
if (document.getElementById('cat'+i+'_cbox'+a).checked==true) testok=true;
}
if (testok==true) { testnbrcat=testnbrcat+1; testok=false; }
}
if (testnbrcat==nbrcat)
{
return true;
}
else
{
return false;
}
}
</script>Code : Tout sélectionner
<form id="form1" method="post" action="action.php" onsubmit="return verify(this);">
<p>cp : <input class="texte" type="text" name="cp" size=18></p>
<p>lieu : <input class="texte" type="text" name="lieu" size=18></p>
<p>mail : <input class="texte" type="text" name="mail" size=18></p>
<p>
<input type="checkbox" name="niveau1" value="Loisir" id="cat1_cbox1"><label for=niveau1>Loisir</label><br />
<input type="checkbox" name="niveau2" value="Départemental" id="cat1_cbox2"><label for=niveau2>Départemental</label><br />
<input type="checkbox" name="niveau3" value="Régional" id="cat1_cbox3"><label for=niveau3>Régional</label><br />
<input type="checkbox" name="niveau4" value="National" id="cat1_cbox4"><label for=niveau4>National</label>
</p>
<p>
<input type="checkbox" name="categorie1" value="66" id="cat2_cbox1"><label for=categorie1>6 * 6</label><br />
<input type="checkbox" name="categorie2" value="44" id="cat2_cbox2"><label for=categorie2>4 * 4</label><br />
<input type="checkbox" name="categorie3" value="33" id="cat2_cbox3"><label for=categorie3>3 * 3</label><br />
<input type="checkbox" name="categorie4" value="22" id="cat2_cbox4"><label for=categorie4>2 * 2</label>
</p>
<p><input type="submit" value="Envoyer"></p>
</form> function verify(theForm)
{
testok=testcheck('2','44');
if (theForm.elements['cp'].value=="")
{
alert("cp à indiquer.");
theForm.elements['cp'].focus();
return false;
}
if (theForm.elements['lieu'].value=="")
{
alert("lieu à indiquer.");
theForm.elements['lieu'].focus();
return false;
}
if (theForm.elements['mail'].value=="")
{
alert("Merci de saisir votre mail.");
theForm.elements['mail'].focus();
return false;
}
if (theForm.elements['mail'].value!="")
{
if ((theForm.elements['mail'].value.indexOf('@')==-1) || (theForm.elements['mail'].value.indexOf('.')==-1))
{
alert("L\'adresse e-mail saisie est invalide.");
theForm.elements['mail'].focus();
return false;
}
}
if (testok==false)
{
alert("Vous devez faire au moins un choix dans chaque catégorie");
return false;
}
return true;
}