IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

execution d'une fonction


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de landryx
    Inscrit en
    Décembre 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 145
    Par défaut execution d'une fonction
    Bonjour!!

    je viens de faire une fonction verif_formm qui doit me controler les champs du formulaires et afficher un message d'erreur si il yen a dans le formulaire mais il passe rien quand je charge la page dans le navigateur..
    voici le code de la fonction:
    function verif_form(){

    var chaine_erreur="";
    //verifier nom
    if (window.document.formulaire.nom.value =="")
    {
    chaine_erreur+="Indiquez votre nom svp!!\n";
    }
    //verifier prenom
    if (window.document.formulaire.prenom.value =="")
    {
    chaine_erreur+="Indiquez votre prenom svp!!\n";
    }
    //verifier le mail
    if (window.document.formulaire.email.value =="")
    {
    chaine_erreur+="Entrez votre mail svp!!\n";
    } else{
    var longueur = window.document.formulaire.email.length;
    var arobase = window.document.formulaire.email.indexOf("@");
    var point = window.document.formulaire.email.lastIndexOf(".");
    var espace = window.document.formulaire.email.indexOf(" ");
    if ((arobase == -1) || //verif de la presence d'un '@'
    (arobase == 0) || // à une position autre que 0
    (point == -1) || //presence du '.' dans l'adresse
    (point > arobase + 1) || // et de qqchose entre '.' et '@'
    (point < longueur - 1) || //et qqchose apres
    (espace == -1)) //pas d'espace
    {
    chaine_erreur+="Adresse email erroné,l'email est de la forme:toto@univ-pau.fr \n";
    }
    }

    //verifier reglement
    var select_bouton = "NO";
    if (window.document.formulaire.reglement.checked == true)
    {
    select_bouton = "YES";
    }
    if (select_bouton == "NO")
    {
    chaine_erreur+="Règlement";
    }

    if (chaine_erreur == "")
    {
    return true;
    } else{
    chaine_erreur = "Information omises dans le formulaire: \n" + chaine_erreur;
    alert(chaine_erreur);
    return false;
    }
    }
    et voici le formulaire dans la page.xhtml
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
     
     
    <form method="post" action="#" id="formulaire" onSubmit="var resultat = verif_form(); return resultat;">
     
    <!--CODE POUR L'INSCRIPTION-->
     
    <h2>Vos données personnelles</h2>
    <br />
    <table width="100%">
    <colgroup width="10%" align="right"></colgroup>
    <colgroup width="70%"></colgroup>
    <tr>
     
    <td><label>*Nom: </label></td>
    <td><input type="text" name="nom" maxlength="256" size="40" /></td>
    </tr>
    <tr>
    <td><label>*Prenom: </label></td>
    <td><input type="text" name="prenom"  maxlength="256" size="40" /></td>
    </tr>
    <tr>
    <td><label>*Mail: </label></td>
    <td><input type="text" name="email"  maxlength="256" size="40" /></td>
    </tr>
    <tr>
    <td><label>N° de téléphone: </label></td>
    <td><input type="text" name="num_tel" maxlength="256" size="40" /></td>
    </tr>
    <tr>
    <td colspan="2"><label>J'accepte avoir pris connaissance du <a href=""> règlement</a>:</label></td>
    </tr>
    <tr>
    <td><input type="radio" name="reglement" /></td>
    </tr>
    <tr>
    <td><input type="submit" name="envoi" value="s'enregistrer" /></td>
    <td><input type="reset" value="Effacer tout" tabindex="5" /></td>
    </tr>
    </table>
    </form>
    sachant que plus haut dans l'entete je fais appel à la fonction sauvegardée dans un autre fichier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
     
    <script type="text/javascript" src="script/menus.js">
     
    </script>
    je regardé un peu pour voir pourquoi il se passait rien mais j'avoue que je vois pas du tout ce qui cloche.Pouriez vous m'aider svp??

    HELP!!

  2. #2
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    id="formulaire"
    ->
    ajoute un attribut
    name="formulaire"

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 85
    Par défaut
    il faudrait présenter ton problème plus simplement pour qu'on ait pas à lire 50 lignes de code pour décortiquer ce que tu veux faire (par exemple, faire une fonction JS se limitant à une alert(), ou nous épargner toute ta page html) ...

    Dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit="var resultat = verif_form(); return resultat;"
    Si j'étais toi, je mettrais simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit="return verif_form();"
    je pense pas que ça change grand chose, ... mais ça simplifie le code. Sinon, quand tu dis que
    pourquoi il se passait rien
    ... es-tu sur que la vérification ne se fait pas? As-tu un message d'erreur JS? Que dis ta console?

  4. #4
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    surement
    window.document.formulaire has no property...
    s'il est assez rapide (plus que le submit)

  5. #5
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Citation Envoyé par Matthieu2000
    window.document.formulaire has no property...
    bon j'y étais presque, mais grammatiquement c'était bon.
    essaie de mettre
    <form method="post" action="" id="formulaire" onsubmit=" return verif_form(); " name="formulaire" >
    si il y a plusieurs formulaires identiques, essaie le passage par paramètre avec this en argument...

  6. #6
    Membre confirmé Avatar de landryx
    Inscrit en
    Décembre 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 145
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <form method="post" action="" id="formulaire" onsubmit=" return verif_form(); " name="formulaire"  >
    ne change pas grand chose
    en fait la ça revient à la case de depart: il ne se passe rien dans le formulaire.

  7. #7
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    +
    ajoute value
    var longueur = window.document.formulaire.email.length;
    ->
    var longueur = window.document.formulaire.email.value.length;
    et les autres aussi

    PS conserve
    <input type="button" name="envoi" value="s'enregistrer" onclick="alert( verif_form());" />
    jusqu'a ce que ca retourne true

  8. #8
    Membre confirmé Avatar de landryx
    Inscrit en
    Décembre 2006
    Messages
    145
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 145
    Par défaut
    Citation Envoyé par PierrotY
    il faudrait présenter ton problème plus simplement pour qu'on ait pas à lire 50 lignes de code pour décortiquer ce que tu veux faire (par exemple, faire une fonction JS se limitant à une alert(), ou nous épargner toute ta page html) ...

    Dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit="var resultat = verif_form(); return resultat;"
    Si j'étais toi, je mettrais simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onSubmit="return verif_form();"
    je pense pas que ça change grand chose, ... mais ça simplifie le code. Sinon, quand tu dis que
    ... es-tu sur que la vérification ne se fait pas? As-tu un message d'erreur JS? Que dis ta console?
    je n'ai aucun moyen de savoir si la verification se fait ou pas!! en plus je n'ai pas de message d'erreur JS!! donc à priori le script est correct mais apres pourquoi ça ne me verifie pas le contenu du formulaire ?? je ne saurais dire pourquoi!!puis j'ai testé aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onSubmit="return verif_form();"
    ça me fait pareil!!
    HELP!!

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 85
    Par défaut
    je n'ai aucun moyen de savoir si la verification se fait ou pas!!
    Pour savoir si ta fonction est exécutée, glisse tout au début (sans qu'il n'y ait aucun test) un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert('Je suis passé par ici!!');
    C'est bourrin, mais efficace!

  10. #10
    Membre Expert
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Par défaut
    Citation Envoyé par PierrotY
    Pour savoir si ta fonction est exécutée, glisse tout au début (sans qu'il n'y ait aucun test) un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert('Je suis passé par ici!!');
    C'est bourrin, mais efficace!
    plus simple :
    <input type="button" name="envoi" value="s'enregistrer" onclick="alert( verif_form());" />
    sinon met le onsubmit en minuscule...

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 85
    Par défaut
    Je ne pense pas que la solution de Matthieu2000 soit plus simple. Je sais pas ce que la valeur retournée par le submit donnera dans une fenêtre d'alert.
    Mais, c'est par contre tout à fait possible que la fonction ne soit pas appelée simplement à cause d'une majuscule manquante... faut vérifier!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MFC] Arreter execution d'une fonction
    Par ricky78 dans le forum MFC
    Réponses: 1
    Dernier message: 07/11/2005, 15h52
  2. [Pl/pgSQL] Erreur sur l'execution d'une fonction.
    Par Floréal dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 25/09/2005, 00h48
  3. [C#] Execution d'une fonction en code behind
    Par elendila dans le forum ASP.NET
    Réponses: 21
    Dernier message: 22/08/2005, 15h06
  4. Réponses: 3
    Dernier message: 17/06/2004, 16h32
  5. Execution d'une fonction lors de l'appui sur CTRL+ALT+I
    Par cyberlewis dans le forum Windows
    Réponses: 4
    Dernier message: 17/03/2004, 01h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo