|
|
|
|
Javascript: tester les cases a cocher
Dernière réponse le 17 jun 2009 à 17:25:37 karimMokobe, le 12 aoû 2003 à 14:29:10Bonjour,
voila j 'ai un forumulaire
comportant un nombre variable de lignes avec des cases a cocher (variable car resultat d'une requete SQL sur BD)
J aimerais donc tester si au moins une de toutes les case a cocher a été coché (c pour éviter que le forumulaire soit envoye alors que rien ne fut coché)
Donc cmt faire cela en javascript pr avoir accéder au tableau des cases d'1 formulaire donné et de tester si ils ont été cochés)
merci d av!
Salut,
<script language="javascript">
<!--
function donneavis()
{
if ((document.forms[0].elements[0].checked==false) && (document.forms[0].elements[1].checked==false) && (document.forms[0].elements[2].checked==false) etc .... )
{
alert("Votre avis, Merci");
return false;
}
return true;
}
//-->
</script>
ceci marche à condition que elements[0] qui est le premier élément de ton formulaire soit une check box si c pas le cas regarde a quel numéro ton premier checkbox se place. puis ensuite dans ton form : <form method=post action="http://www.votresite.com/cgi/votreform.cgi" name="formulaire" OnSubmit="return donneavis()"> je sais pas si c tres clair mon affaire la ... - T'as pas vu Chloraine ? - C'est qui Chloraine ? - Ah ! Ah ! Ah ! |
Merci steelspirit mais justement ca j arrive àfaire a savoir tester chaque case mais le pb est que comme j ai dit en haut j'ai
1 nombre variable de lignes avec des cases a cocher ca signifie que selon le tat de la BD j auraisd une fois -5 lignes dc 5 cases a coche -une fois 3 cases a cocher car 3 lignes Donc tester chaque ligne en dur c pas possible mais il me semble que c possible via un tableau mais cmt..? |
Et bien j ai trouvé un truc sur google mais ca marche pas:
<html><head>
</head>
<!--debut-->
<body><br><br><br>
<!--le formulaire de saisie-->
<FORM name ="omar" METHOD="post" ACTION="addPassp">
<input type="hidden" name="numb" value="RRR">
<input type="hidden" name="niveau" value="RRR"><b>Etape 1: Ajout d'un passe</b>
<b> partiel</b>
<hr>
<br>
<input type="checkbox" name="C1" value="ON">
<p> <input type="checkbox" name="C2" value="ON"> </p>
<p><input type="checkbox" name="C3" value="ON"> </p>
<p><input type="checkbox" name="C4" value="ON">
<br><br>
<INPUT onclick=verifForm(this.form) type=button value=Envoyer
style="background-color: #D2E9FF">
<input type="reset" value="Recommencer"
style="background-color: #D2E9FF">
</p>
</form>
<SCRIPT language=JavaScript>
document.writeln("il ya "+document.omar.lenght+"checkbox");
</script>
<p><font size="1">*champs obligatoires</font>
<p> </p></body></html>
|
POUR OMAR :
<script language="javascript">
<!--
function donneavis(val)
{
var i;
for (i=0;i<val;i++)
{
if ((document.forms[0].elements[i].checked==true)
{
return true;
}
}
alert('donner votre avis');
return false;
}
//-->
</script>
et voila !!! - T'as pas vu Chloraine ? - C'est qui Chloraine ? - Ah ! Ah ! Ah ! |
Salut, le code suivant document.formName.radioName.length ne marche pas. Ja i tapé ceci : alert(form.p1.length); et les message es "undefined" d ailleurs je vois pas cmt ce bt de code marcherait puisque si je l analyses lexicigraohiquement il donnerait la longeur d'un bouton radio donnée du formulaire x du document en cours. or je veux connaitre le nb total de bouton radios du formulaire! c différent |
Slt,
function checkbox_selected(form)
{
for (i=0, n=form.elements.length; i<n; i++)
{
if ((form.elements[i].checked == true))
return true;
}
alert("Cochez une case.");
return false;
}
et dans ton bouton pour valider tu mets: <INPUT type="submit" value="Valider" onclick='checkbox_selected(this.form)' > cette fonction est dynamique en fonction du nbre de checkbox De nada amigos! (@_@) |
Bjr,
<html>
<head>
<script type="text/javascript">
<!--
function tst_cbx()
{
// On peut aussi utiliser : ref=document.getElementById('demo');
ref=document.forms['demo'];
result=false;
for (i=0; i<ref.cbx.length; i++)
{
if (ref.cbx[i].checked)
{
result=true;
break;
}
}
alert((result) ? "Ok":"Cochez au moins une case SVP !");
}
//-->
</script>
</head>
<body>
<form id="demo" name="demo">
<input type="checkbox" name="cbx"></p>
<input type="checkbox" name="cbx"></p>
<input type="checkbox" name="cbx"></p>
<input type="checkbox" name="cbx"></p>
<input type="button" value="Ok" onclick="tst_cbx()">
</form>
</body>
</html>
@+ PhP [Push the button,Don't push the . button,Trip the station,Change the channel] |
Et oui Azazel !!!
<?php echo "<pre>Value : ",$_POST['cbx'],"</pre>"; ?>
<form id="demo" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<p><label>case 1 : </label><input type="checkbox" id="cbx1" name="cbx[]" value="1"/></p>
<p><label>case 1 : </label><input type="checkbox" id="cbx2" name="cbx[]" value="2"/></p>
<p><label>case 1 : </label><input type="checkbox" id="cbx3" name="cbx[]" value="3"/></p>
<p><input type="submit" value="Ok" onclick="tst_cbx()" /></p>
</form>
Configuration: Windows XP Firefox 2.0.0.6 |
Si tu veux absolument vérifier par Javascript tes cases à cocher il ne faut pas les nommer cbx[], mais leur donner un nom différent pour chacune.
for($i=1;$i<$ta_limite,$i++){
$nom_cbx="cbx".$i;
<?
<input type="checkbox" name="<?php echo $nom_cbx ; ?>" value="....">xxxxxxx
<?php
}
ensuite pour les récupérer page suivante, tu explore l'array $_POST par une boucle et avec un test substr($_POST,0,3)=="cbx" pour empiler les valeurs de toutes tes checkbox dans un array ou autre.
|
//Fonction qui verifie s'il y a au moins nb_mini case coché
|
Test pour voir si au moins une case a été cochée
function <FunctionName>()
{
var i = 0;
var COCHE = false;
for (i=0;i< document.getElementsByName(<CheckboxName>).length;i++)
{
if(document.getElementsByName(<CheckboxName>).item(i).checked)
{
COCHE = true;
break;
}
}
if(COCHE)
alert("Au moins une case cochée");
else
alert("Pas de case cochée");
}
|

