crixuss
Messages postés25Date d'inscriptionjeudi 29 août 2013StatutMembreDernière intervention14 novembre 2016
-
29 août 2013 à 14:10
crixuss
Messages postés25Date d'inscriptionjeudi 29 août 2013StatutMembreDernière intervention14 novembre 2016
-
29 août 2013 à 16:49
Bonjour,
Je fait un formulaire dans lequel un utilisateur doit faire un choix entre plusieurs événements, et j'aimerais que quand aucune case n'est choisie qu'un message d'erreur s'affiche tant qu'il n'en a pas sélectionné une. J'ai essayer de le faire en javascript mais rien ne ce passe quand je fais le test.
Merci d'avance.
Voici mon code HTML:
<form method="post" action="fiche_signal.php" name="form" id="form">
<input type ="checkbox" name="evenement[0]" value = "Affectation au cours de la periode" id="evenement"></input>
<input type ="checkbox" name="evenement[1]" value = "Changement de manager" id="evenement1"></input>
<input type ="checkbox" name="evenement[2]" value = "Evolution de methode de travail" id="evenement2"></input>
<input type ="checkbox" name="evenement[3]" value = "Longue abscence" id="evenement3"></input>
<input type ="checkbox" name="evenement[4]" value = "Autres Evenement" id="evenement4"></input>
<input type ="checkbox" name="evenement[5]" value = "Aucun Evenement" id="evenement5></input>
</form>
voici mon code javascript:
<head>
<title>EVENEMENT</title>
<script>
function ctr()
{
var listOfInputs = document.getElementsByTagName('evenement[]');
var listOfInputsLength = listOfInputs.length;
var atLeastOneChecked = false;
for (var i=0; i < listOfInputsLength; i++)
{
if (listOfInputs[i].ckecked)
{
atLeastOneChecked = true;
break;
}
}
if(atLeastOneChecked)
{
return true;
}
else
{
alert("rien n'est coché");
return false;
}
}
</script>
</head>
Je vois déjà 2-3 erreurs :
- getElementsByTagName => Retourne un tableau (Array) d'objets HTML à partir de nom de la balise (tag en anglais). Ici evenement est le nom, et nom un tag
le listOfInputsLength aurait pu te mettre la puce à l'oreille, il est initialisé à 0.
- manque un guillemet à l'id du dernier checkbox
- problème de synthaxe :
listOfInputs[i].ckecked => listOfInputs[i].checked (on ne confond pas k et h quand même)
j'ai essayé de toucher au minimum ton script, ce qui donne :
<form method="post" action="fiche_signal.php" name="form" id="form">
<input type ="checkbox" name="evenement[0]" value = "Affectation au cours de la periode" id="evenement0"></input>
<input type ="checkbox" name="evenement[1]" value = "Changement de manager" id="evenement1"></input>
<input type ="checkbox" name="evenement[2]" value = "Evolution de methode de travail" id="evenement2"></input>
<input type ="checkbox" name="evenement[3]" value = "Longue abscence" id="evenement3"></input>
<input type ="checkbox" name="evenement[4]" value = "Autres Evenement" id="evenement4"></input>
<input type ="checkbox" name="evenement[5]" value = "Aucun Evenement" id="evenement5"></input>
<input type="button" onclick="ctr()" value="valider"></input>
</form>
changement d'id pour le premier checkbox
rajout du guillement manquant
<script>
function ctr()
{
var atLeastOneChecked = false;
var i = 0;
while (document.getElementById("evenement" + i))
{
if (document.getElementById("evenement" + i).checked)
{
atLeastOneChecked = true;
break;
}
i++;
}
if(atLeastOneChecked == true)
{
return true;
}
else
{
alert("rien n'est coché");
return false;
}
}
</script>
edit : manquait un bouton valider aussi ....
dans la fonction ctr(), il te suffira de rajouter un submit du form pour terminer ton formulaire
crixuss
Messages postés25Date d'inscriptionjeudi 29 août 2013StatutMembreDernière intervention14 novembre 2016 29 août 2013 à 16:49
29 août 2013 à 16:49