J'ai 2 fonctions et ne voudrais en faire qu'1 seule

cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012 - 4 juil. 2007 à 14:47
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012 - 4 juil. 2007 à 19:24
Bonjour à tous,

Je vérifie, avec un JS, le remplissage des champs, des boutons, l'affichage du menu déroulant, et c'est OK.

Par contre, je n'arrive pas à vérifier la syntaxe du mail pour ce même formulaire.

Mais si je n'ai uniquement que le JS pour ctrl du mail, c'est ok.

Je ne suis pas arrivé à les mettre ensemble.
- j'ai la fonction pour vérifier le remplissage des champs.
- j'ai une autre fonction pour contrôler le mail.

Je suppose qu'on peut les mettre ensemble ! parce que dans la <form....> je ne peut mettre qu'un onclick, ou on... (qq chose)


Pourriez-vous m'aider ?

Merci d'avance.

6 réponses

cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
4 juil. 2007 à 15:14
Bonjour

Un exemple de code?
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
4 juil. 2007 à 15:53
Voilà mes codes :
<hr size= "2" width="100%" />Tu peux, si tu veux, voir et essayer http://jl.bouchez.free.fr/index.php?page=1&id=Contact. En ne mettant que des lettres ou chiffres dans le champ "Mail", ça passe comme une lettre à la poste.
<hr size="2" width="100%" />
Celui qui vérifie les champs :
<script type ="text/javascript">
<!--
function no_error()
{ return true; }
window.onerror=no_error;
//-->
</script>
</head>

<script language="JavaScript" type="text/javascript">
<!--
function formCheck(formobj){
    var fieldRequired = Array("nom", "mail", "moteur", "profession", "precision", "sujet", "message");
    var fieldDescription = Array("Votre nom", "Votre mail", "Quelle est votre profession", "Comment avez-vous connu ce site", "Précisez", "Sujet", "Message");
    var alertMsg = "Veuillez compléter les champs suivants qui sont obligatoires avant d'envoyer!\n";
   
    var l_Msg = alertMsg.length;
   
    for (var i = 0; i < fieldRequired.length; i++){
        var obj = formobj.elements[fieldRequired[i]];
        if (obj){
            switch(obj.type){
            case "select-one":                if (obj.selectedIndex -1 || obj.options[obj.selectedIndex].text ""){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
                break;
            case "select-multiple":
                if (obj.selectedIndex == -1){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
                break;
            case "text":
            case "textarea":                if (obj.value "" || obj.value null){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
                break;
            default:
            }
            if (obj.type == undefined){
                var blnchecked = false;
                for (var j = 0; j < obj.length; j++){
                    if (obj[j].checked){
                        blnchecked = true;
                    }
                }
                if (!blnchecked){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
            }
        }
    }

    if (alertMsg.length == l_Msg){
        return true;
    }else{
        alert(alertMsg);
        return false;
    }
}
// -->
</script>
<form method="post" action="./index.php?page=10&amp;id=Result_Contact" name="formcheck" onsubmit="return formCheck(this);">
<hr size="2" width="100%" />
Et celui qui vérifie le mail :
<!--DEBUT DU SCRIPT-->
<SCRIPT LANGUAGE="JavaScript">
/*
SCRIPT EDITE SUR L'EDITEUR JAVASCRIPT
http://www.editeurjavascript.com
*/
function Verifmail(formulaire)
    {
    adresse = formulaire.adresse_email.value;
    var place = adresse.indexOf("@",1);
    var point = adresse.indexOf(".",place+1);
    if ((place > -1)&&(adresse.length >2)&&(point > 1))
        {
        formulaire.submit();
        alert('E-mail valide!!');
        return(true);
        }
    else
        {
        alert('Entrez une adresse e-mail valide!!');
        return(false);
        }
    }
</SCRIPT>
<!-- FIN DU SCRIPT-->
<form action="#" onSubmit="return(Verifmail(this))">

 
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
4 juil. 2007 à 17:22
Salut
ajoutes cette fonction

function verifier(form)
{
    if(Verifmail(form) && formCheck(form))
    {
       return true;
    }
    else
    {
       return false;
    }
}

<form method="post"
action="./index.php?page=10&amp;id=Result_Contact" name="formcheck"
onsubmit="return verifier(this);">

cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
4 juil. 2007 à 18:11
J'ai essayé mais ça ne marche toujours pas.
Il n'y a aucune erreur.

Mais ne peut-on pas mettre la fonction de la vérification du mail dans celle de la vérif du formulaire ?

 

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

Posez votre question
yousfane Messages postés 243 Date d'inscription vendredi 24 novembre 2006 Statut Membre Dernière intervention 21 décembre 2007 2
4 juil. 2007 à 18:17
Salut
Je n'ai pas testé cette fonction et je ne suis pas sur qu'elle marche

function formCheck(formobj){
    var fieldRequired = Array("nom", "mail", "moteur", "profession", "precision", "sujet", "message");
    var fieldDescription = Array("Votre nom", "Votre mail", "Quelle est votre profession", "Comment avez-vous connu ce site", "Précisez", "Sujet", "Message");
    var alertMsg = "Veuillez compléter les champs suivants qui sont obligatoires avant d'envoyer!\n";
  
    var l_Msg = alertMsg.length;
  
    for (var i = 0; i < fieldRequired.length; i++){
        var obj = formobj.elements[fieldRequired[i]];
        if (obj){
            switch(obj.type){
            case "select-one":                if (obj.selectedIndex -1 || obj.options[obj.selectedIndex].text ""){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
                break;
            case "select-multiple":
                if (obj.selectedIndex == -1){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
                break;
            case "text":
            case "textarea":                if (obj.value "" || obj.value null){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
                break;
            default:
            }
            if (obj.type == undefined){
                var blnchecked = false;
                for (var j = 0; j < obj.length; j++){
                    if (obj[j].checked){
                        blnchecked = true;
                    }
                }
                if (!blnchecked){
                    alertMsg += " - " + fieldDescription[i] + "\n";
                }
            }
        }
    }
    adresse = formulaire.adresse_email.value;
    var place = adresse.indexOf("@",1);
    var point = adresse.indexOf(".",place+1);
    if ((place > -1)&&(adresse.length >2)&&(point > 1) && (alertMsg.length == l_Msg))
        {
        formulaire.submit();
        alert('E-mail valide!!');
        return(true);
        }
    else
        {
        alert(alertMsg);
        alert('Entrez une adresse e-mail valide!!');
        return(false);
        }
}
cs_JLB59 Messages postés 140 Date d'inscription jeudi 21 septembre 2000 Statut Membre Dernière intervention 16 août 2012
4 juil. 2007 à 19:24
Et ça ne marche pas.

Je vais essayé autre chose.

 
Rejoignez-nous