Partage
  • Partager sur Facebook
  • Partager sur Twitter

fonction javascript

Sujet résolu
    29 mai 2010 à 10:24:22

    Bonjour,

    J'ai un formulaire de contact et une fonction javascript qui vérifie l'adresse e-mail :

    <label for="e-mail">Votre e-mail</label> : <br />
    <input type="text" onchange="javascript:valideMail('default');" onblur="javascript:valideMail('default');" onkeyup="javascript:valideMail('default');" name="e-mail" id="e-mail" size="66" tabindex="25" value="<?php echo $_POST['e-mail']; ?>" /><br />
    <span id="statusmail"></span></td><br />
    

    La fonction javascript valideMail vérifie l'adresse e-mail et affiche "votre adresse e-mail est valide" et "votre adresse e-mail est invalide" en fonction de l'adresse tapée dans le span "statutmail". Le seul problème, c'est que quand on clique sur le champs et que le navigateur fait des propositions et quand en prend une, la fonction ne s'exécute pas alors que l'adresse e-mail est valide.
    J'aimerai faire que la fonction javascript s'exécute a chaque fois que le champs change.

    Merci de votre aide :D
    • Partager sur Facebook
    • Partager sur Twitter
    Epitech Nancy - 4ème année | University of Kent (Angleterre)
      29 mai 2010 à 10:54:49

      Salut,

      Pour cela, je crois que le seul moyen est de lancer ta fonction en boucle :
      (function act() {
         valideMail('default') ;
         setTimeout(act,1000) ;
      }) () ;
      


      Et pourquoi mets tu tous ces "javascript:" ?? ils sont inutiles et moches...

      Les bonnes pratiques du javascript
      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        29 mai 2010 à 11:22:07

        ouais ou sinon tu met au onclick et onkeup ton évènement.


        Puis valider une adresse email ? Jamais t'y arrive, lache l'affaire. Utilise les fonctions toutes faites en PHP :
        http://fr2.php.net/manual/fr/filter.ex [...] alidation.php
        • Partager sur Facebook
        • Partager sur Twitter
          29 mai 2010 à 12:13:36

          Citation : LCaba

          Salut,

          Pour cela, je crois que le seul moyen est de lancer ta fonction en boucle :

          (function act() {
             valideMail('default') ;
             setTimeout(act,1000) ;
          }) () ;
          

          Bon déjà, c'est pas la bonne approche, le JavaScript est assez haut niveau donc on a les events pour éviter les boucles.
          M'enfin même si n devait utiliser ta fonction, ça ne fonctionnerais pas :)
          Enfin pas sous IE.
          Parce que pour lui, quand tu vas lancer la fonction avec les () à la fin, elle ne sera pas encore déclarée donc le setTimeout va fail :)
          Bref, autant coder prudemment et faire :
          function act() {
             valideMail('default');
             setTimeout(act,1000);
          }
          act();
          

          Et j'aime pas les espaces avant les ; mais bon ça tu fais comme tu veux :-°
          • Partager sur Facebook
          • Partager sur Twitter
            29 mai 2010 à 12:18:52

            Citation : xavierm02

            Citation : LCaba

            Salut,

            Pour cela, je crois que le seul moyen est de lancer ta fonction en boucle :

            (function act() {
               valideMail('default') ;
               setTimeout(act,1000) ;
            }) () ;
            


            Bon déjà, c'est pas la bonne approche, le JavaScript est assez haut niveau donc on a les events pour éviter les boucles.
            M'enfin même si n devait utiliser ta fonction, ça ne fonctionnerais pas :)
            Enfin pas sous IE.
            Parce que pour lui, quand tu vas lancer la fonction avec les () à la fin, elle ne sera pas encore déclarée donc le setTimeout va fail :)
            Bref, autant coder prudemment et faire :

            function act() {
               valideMail('default');
               setTimeout(act,1000);
            }
            act();
            


            Et j'aime pas les espaces avant les ; mais bon ça tu fais comme tu veux :-°


            Vos fonctions font quoi, elle lance la fonction pendant 1000 secondes ?
            • Partager sur Facebook
            • Partager sur Twitter
            Epitech Nancy - 4ème année | University of Kent (Angleterre)
              29 mai 2010 à 12:21:32

              Rien.
              Là il te proposait une mauvaise alternative au onchange.
              Enfin enlève le javascript: quand même.
              • Partager sur Facebook
              • Partager sur Twitter

              fonction javascript

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown