Au moins un champs

rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009 - 19 déc. 2007 à 11:34
rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009 - 28 déc. 2007 à 06:58
Salut,

comment faire une verif sur plusieurs champs textes ?
En gros j'ai un formulaire avec trois champs email
et j'aimerai qu'il fasse une alerte si aucun des trois n'est rempli et bien avec un email tant qu'à faire.

L'avez-vous déjà fait ? et si vous pouviez m'aider merci
:-)

7 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
19 déc. 2007 à 12:16
Bonjour,

>>comment faire une verif sur plusieurs champs textes ?
    ben... en tester le contenu..  non ?

>>j'ai un
formulaire avec trois champs email
    ah bon ? et pourquoi 3 ? pourquoi pas 27 ?

>>et j'aimerai qu'il fasse une alerte
si aucun des trois
>>n'est rempli et bien avec un email tant qu'à faire

    tester si le champ est renseigné c'est le minimum
    tester si le contenu est cohérent est nécessaire me semble-t-il..

que n'arrives-tu pas à faire ?
    tester 3 champs ?
    tester si l'un au moins est rempli ?
    tester si une adresse mail est cohérente ?

    qu'est-ce qui plante dans ton script ? où ?  à quelle ligne ?
    tu as un message d'errrur ?  lequel !
       avec quel navigateur ? tous ?

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009
19 déc. 2007 à 13:19
je pensai avoir été assez clair pourtant...

Je répond vite juste pour toi :
>> Comment faire une vérif : en testant
Alors là comme réponse pas mal... Les autres jugerons où sans me connaitre dit tout suite que je suis c.. ?
Agressif non...?

>>3 champs email : pourquoi pas 27 ?
Alors là aussi j'aime bien. C'est simple j'en ai besoin de 3 et pas de 27.
Maintenant si tu as la solution pour 27, balance le code et j'adapterai
Je suis venu pour avoir une idée de code (enfin c'est bien le but du forum non ?)

Bref, il y a trois champs texte pour saisir des email dans un formulaire avec un bouton "valider".
En validant, il faudrai tester si au moins un des champs est rempli déjà.
Simple comme question jusque là je pense.
et je sais pas du tout comment faire, mon niveau de prog javascript est débutant.
J'ai aucun code, aucun message d'erreur donc

et rien de plus du coup (je retire la verif de l'email j'ai peur qu'on me demande si je veux qu'il compte les caractères, si c'est les bons, si il y a un point, si l'extention est bonne, si si si si et si)

Voila, j'ai posé une question et tu me répond par un texte avec 13 "?"...............
J'ai pas été totallement clair sans doute mais là, comme réponse !!!!


Merci pour ceux qui ont un bout de code à me montrer pour tester si un des trois champs est rempli, donc.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
19 déc. 2007 à 13:35
>>J'ai aucun code, aucun message d'erreur donc


   et tu attends qu'on te le fasse donc ?
   il y a des solutions pour contrôler sans programmer !
    [http://www.javascriptfr.com/codes/CONTROLE-CHAMPS-FORMULAIRE-CCF_43101.aspx ici [ccf]] et [http://www.javascriptfr.com/codes/CONTROLE-AUTOMATIQUE-CHAMPS-FORMULAIRE-CONFORM_28451.aspx ici [conform]]     je n'en cite que 2, au hasard ;o))  il y en a d'autres...


>> pour tester si un des trois champs est rempli
>>ceux qui ont un bout de code à me montrer


    if ( champ1!="" || champ2!="" || champ3!="" )
               { au moins l'un des 3 est rempli }
    else      { aucun n'est rempli    }



>>dit tout suite que je suis c.. ?

    rien dit de tel...  tu es seul juge

>>Agressif non...?
    pas mon style




<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
19 déc. 2007 à 18:51
Bonjour à vous,
Sans vouloir mettre de l'eau sur
le feu il me semble, qu'en réfèrence au forum, on peut lire en ligne presque 1

On fait une recherche (forum / sources / tutoriaux /
Codyx.org / CodyxBot / Search.CodeS-SourceS.Com) avant de poster une
question.
sans nul doute tu aurais trouvé ta vie...

Comment faire une vérif : en
testant...
Non en testant le contenu, le format ou encore la
cohérence...en gros
tester si le champ est renseigné c'est le minimum
tester si le contenu est cohérent est nécessaire me semble-t-il...
...c'est la réponse faite par The Bultez

ceux qui ont un bout de code à me montrer pour tester si un des
trois champs est rempli...
Les questions et remarques ne sont
pas anodines, ont ne gére pas forcément les tests sur 3 champs de la même
manière que sur bien plus...

Pour ton test il est tout à fait
envisageable de faire
var
szMsg = Champ1.value + Champ2.value +Champ3.value;
if( szMsg)
  alert(
"ce n'est pas VIDE");
else
  alert( "c'est VIDE");
mais bon
pour la suite des tests, validation de la saisie c'est pas géant...

je retire la verif de l'email j'ai peur qu'on
me demande si...
Surtout pas c'est le plus important...

tu peux également regarder du coté de
http://www.codyx.org/snippet_verifier-validite-adresse-mail_40_l_javascript_19.aspx

voilà que dire de plus,
on a tous été débutant...
;0)
0

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

Posez votre question
ads31 Messages postés 22 Date d'inscription mercredi 19 décembre 2007 Statut Membre Dernière intervention 27 octobre 2008
20 déc. 2007 à 12:02
bonjour,

pour verifier plusieurs champ, tu fais une boucle.
Pour verifier si c'est un mail, une méthode est RegExp et les expressions réguliéres. Pour savoir si c'est vide tu peux comparer la valeur de ton champ à "".

j'ai un bout de code qui est pour 2 champ email, qui doivent etre remplies, identiques et valides, en l'adaptant a 3 champs ça donne  ça (c'est un peu bourrin mais bon^^) bien que je penses pas que tu veuille 3 champs identiques mais bon, si ça peux t'aider...

<html>
<head>
<script>
function VerifChamp(nom)
  {
    // initialisation
    var test_val=1;
    var test_id="";
    var sauv="";
    for (compteur=1; compteur<4; compteur++)
    {
      var valeur= document.getElementById(nom+compteur).value;
      if (valeur=="")
       {
          test_val=-1; //si vide
       }
      if (compteur==1)
      {
        sauv=valeur;
      }
      if (sauv != valeur)
      {
        test_id=-1; //si valeur différente
      }
    }
    // juste pour eviter d'avoir plusieurs fois le meme message
    if (test_val==-1)
    {
      alert ("au moins un des champs n\'est pas remplie");
    }
    if (test_id==-1)
    {
      alert ("Erreur: les champs ne contiennent pas la meme valeur");
    }
    //verif email
    if ((test_val==1) || (test_id==1))
    {
      var exp=new RegExp("^[_a-z0-9-]+(.[_a-z0-9-]+)*[^._-]@[a-z0-9-]+(.[a-z0-9]{2,4})*$","g");
     if (!(exp.test(sauv)))
        {
            alert ('entrez une adresse Email valide');
        }
        else
        {
        //juste pour le test a enlever
        alert("votre adresse mail est: "+sauv);
        }
  }
}
</script>
</head>

</html>
0
rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009
20 déc. 2007 à 12:52
Super ça va bien me permettre d'adapter :-)

Là je bricole dur sur mon ordi et prépare les fêtes...

Désolé si j'ai réagit un peu sec au début ;-)
0
rduvrac Messages postés 120 Date d'inscription vendredi 7 février 2003 Statut Membre Dernière intervention 2 novembre 2009
28 déc. 2007 à 06:58
Voila j'ai eu un peu de temps et réussi à faire exactement ce que je voulais :-)


du coup j'ai adapté pour 4 champs, ajouté un focus et bidouillé avec mes scripts d'avant (d'où la verif de l'email differente)


j'ai mis :
<html>

<head>

<script>

function VerifChamp(nom)

{

var valeur1= document.getElementById(nom+1).value;

var valeur2= document.getElementById(nom+2).value;

var valeur3= document.getElementById(nom+3).value;

var valeur4= document.getElementById(nom+4).value;


//================ verif si au moins 1 champ rempli

if ((valeur1=="") && (valeur2=="") && (valeur3=="") && (valeur4==""))

{

alert ("tout les champs sont vides !");

document.form1.champ1.focus();

}

else

{


//================ si champ1 non vide

if (valeur1!="")

{

var arobase1 = valeur1.indexOf("@")

var point1 = valeur1.lastIndexOf(".")

if((arobase1 < 2)||(point1 + 2 > valeur1.length)||(point1 < arobase1+2))

{

alert("Votre email1 est absent ou errone !");

document.form1.champ1.focus();

return false

}

//et verif si different des autres

if ((valeur1==valeur2) || (valeur1==valeur3) || (valeur1==valeur4))

{

alert ("L'email1 doit etre differents des autres !");

document.form1.champ1.focus();

}

}


//================ si champ2 non vide

if (valeur2!="")

{

var arobase2 = valeur2.indexOf("@")

var point2 = valeur2.lastIndexOf(".")

if((arobase2 < 2)||(point2 + 2 > valeur2.length)||(point2 < arobase2+2))

{

alert("Votre email2 est absent ou errone !");

document.form1.champ2.focus();

return false

}

//et verif si different des autres

if ((valeur2==valeur3) || (valeur2==valeur4))

{

alert ("L'email2 doit etre differents des autres !");

document.form1.champ2.focus();

}

}


//================ si champ3 non vide

if (valeur3!="")

{

var arobase3 = valeur3.indexOf("@")

var point3 = valeur3.lastIndexOf(".")

if((arobase3 < 2)||(point3 + 2 > valeur3.length)||(point3 < arobase3+2))

{

alert("Votre email3 est absent ou errone !");

document.form1.champ3.focus();

return false

}

//et verif si different des autres

if (valeur3==valeur4)

{

alert ("L'email3 doit etre differents des autres !");

document.form1.champ3.focus();

}

}


//================ si champ4 non vide

if (valeur4!="")

{

var arobase4 = valeur4.indexOf("@")

var point4 = valeur4.lastIndexOf(".")

if((arobase4 < 2)||(point4 + 2 > valeur4.length)||(point4 < arobase4+2))

{

alert("Votre email4 est absent ou errone !");

document.form1.champ4.focus();

return false

}

}


}


}

</script>

</head>



<form name="form1" method="post" action="">

email1






email2






email3






email4








</form>



</html>



Merci donc
0
Rejoignez-nous