Verif checkbox ayons le même nom

Résolu
cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 - 15 juil. 2009 à 15:09
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 - 16 juil. 2009 à 12:57
Bonjour,
Je souhaite vérifier parmi plusieurs checkbox au moins une a été cochée, les checkbox ayont le même nom (name=case[]).
voilà le code mais il ne marche pas :
//----------- javascript -----------
<script language="javascript">
function verif(){
for(i=0;i<document.frm.name[].value;i++){
if (document.frm.name[i].checked){
return true;
}else{
alert ('Erreur');
return false;
}
}
}
</script>

//----------- HTML -----------
<form name="frm" method="post" action="re.php" onSubmit="return verif()">

0Pts


25Pts


50Pts


75Pts


100Pts



</form>

15 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
15 juil. 2009 à 15:28
Bonjour,
1° ton name c'est "name[]", pas "name" !
2° pas .value mais .length

function verif()
{ for( var i=0;i<document.frm["name[]"].length;i++)
{ if (document.frm["name[]"](i].checked)
{ return true; }
}
alert("erreur");
return false;
}

remarque : pourquoi ne pas utiliser radio ?
avec l'un d'eux ayant l'attribut checked ?
ça évite tout test !

Cordialement [mon Site] [M'écrire] Bul
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
15 juil. 2009 à 15:44
"bien sûr" il fallait lire :
if (document.frm["name[]"][i].checked)
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juil. 2009 à 10:52
function verif()
{	var lib=";
if (document.formsuivi.job.value=="")
{	lib+="\r\nErreur fonction";	}
for( var i=0;i<document.formsuivi["name[]"].length;i++){
if (document.formsuivi["name[]"][i].checked!="")
{	break;	}
if (i>=document.formsuivi["name[]"].length)
{	lib+="\r\nErreur check";	}
if (document.formsuivi.local.value==""){
{	lib+="Erreur local";	}
if ( lib.length>0 )
{	alert(lib);
return false;
}
else	{	return true;	}
}

pas testé, mais pas loin...
3
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
15 juil. 2009 à 15:52
<form name="frm" method="post" action="re.php" onSubmit="return verif()">
0Pts

25Pts

50Pts

75Pts

100Pts



</form>

coté php $_POST['rad'] sera =
au value du radio sélectionné
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
15 juil. 2009 à 15:53
crottes de biques....
<form name="frm" method="post" action="re.php">
bien entendu
0
cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 2
15 juil. 2009 à 16:31
Merci Bul3, merci infiniment
ça marche impeccablement
0
cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 2
15 juil. 2009 à 16:58
une autre qust, je veut change la place de return true par return false par ce que se code sera integré dans une function qui comporte d'autre et sa créer des pbm pour moi, voilà mon code :
function verif(){
//- - - - - - - Fonction - - - - - - -
var rub = document.formsuivi.job.value;
if (rub==""){
alert ('Sélectionner une fonction');
document.formsuivi.job.focus();
return false;
}

//- - - - - - - Métiers - - - - - - -
for( var i=0;i<document.frm["name[]"].length;i++){
if (document.frm["name[]"][i].checked){
return true;
}
alert("erreur");
return false;
}

//- - - - - - - Localisation - - - - - - -
var city = document.formsuivi.local.value;
if (city==""){
alert ('Sélectionner votre ville');
document.formsuivi.local.focus();
return false;
}
return true;
}
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
15 juil. 2009 à 18:06
oui et ??

mais perso, je signalerais toutes les erreurs
en une seule fois, c'est pénible pour l'utilisateur
sinon de se voir dire :
evoie ===> erreur 1
on corrige, on envoie ==> erreur 2...etc
mieux vaut dire erreur 1 + erreur 2 ....
0
cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 2
16 juil. 2009 à 10:20
re, dsl mais j'ai pas bien compri ta dérnier msg
mais regarde se que j'ai fais :
<script language="javascript">
function verif(){
//- - - - - - - Fonction - - - - - - -
var rub = document.formsuivi.job.value;
if (rub==""){
alert("Erreur fonction");
return false;
}

//------------Checkbox-------------
for( var i=0;i<document.formsuivi["name[]"].length;i++){
if (document.formsuivi["name[]"][i].checked!=""){
return true
}else{
alert("Erreur check");
return false;
}
}

//- - - - - - - Localisation - - - - - - -
var city = document.formsuivi.local.value;
if (city==""){
alert("Erreur local");
return false;
}
return true;
}
</script>
//---------------------------------

mais le pbm est que le boucle repete l'erreur check et il ne peut pas sorti.
le 1er code "Fonction" est ne liste déroulante.
la 2éme ses les checkbox, et la dérniere et aussi une liste déroulante.
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juil. 2009 à 10:55
if (document.formsuivi.local.value==""){
{ lib+="\r\nErreur local"; }
0
cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 2
16 juil. 2009 à 12:04
perfect, ça marche mais il faut faire qlq changement pour les accolades"{}", merci beaucoup, voilà le code pour se qui on le même besoin :
//----------------CODE---------------
function verif(){
var lib="";
if (document.formsuivi.job.value==""){
lib+="\r\n Erreur fonction";
}
for(var i=0;i<document.formsuivi["name[]"].length;i++){
if (document.formsuivi["name[]"][i].checked!=""){
break;
}
}
if (i>=document.formsuivi["name[]"].length){
lib+="\r\n Erreur check";
}
if(document.formsuivi.local.value==""){
lib+="\r\n Erreur local";
}
if (lib.length>0 ){
alert(lib);
return false;
}else{
return true;
}
}
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juil. 2009 à 12:21
nickel si ça baigne....
>>mais il faut faire qlq changement pour les accolades
pas sûr... mais comme pas testé !
0
cs_Homeros Messages postés 53 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 25 février 2016 2
16 juil. 2009 à 12:48
merci pour ton aide, je sais que je te dérenge mais je vais demander une dérniere chose, j'ai un champs de text où j'ai met un code pour verifier si le champs est vide et pour qu'il n'accept que les les lettres, mais quand j'entre par exm un nom avec espace il m'affiche l'alert, se que je veut c'est autorisé l'espace plus les lettres seulement, voilà mon code:

function verif(){
var nam = document.frm.nom.value;
if (nam==""){
alert ('Veuillez saisir votre nom');
document.frm.nom.focus();
return false;
}
var nam=document.frm.nom.value;
var T=nam.length;
for(i=0;i<=T-1;i++){
var cara=nam.charAt(i);
        if((cara>=0)&&(cara<=9)){
alert('les lettres seulement');
document.frm.nom.value="";
document.frm.nom.focus();
return false;
}
    }
}
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juil. 2009 à 12:53
regarde du coté des "expressions régulières"
tu y trouveras ton bonheur
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
16 juil. 2009 à 12:57
aller....j'ai sous la main un ch'tiot début
fais pour être adapté
<script type="text/javascript">
    function tst(zone)
    {    return zone.search(/^[A-Za-z]+$/);    }
</script>


il y a d'autres manières de faire....
0
Rejoignez-nous