Partage
  • Partager sur Facebook
  • Partager sur Twitter

Fonction ne fonctionne pas

    7 juillet 2010 à 11:51:30

    Bonjour,

    J'ai un problème, j'utilise jQuery pour vérifier que le champ est vide ou pas et pour "optimiser" le tout je met le code dans une fonction pour l'utiliser plus facilement et dans la fonction ça ne fonctionne plus alors que sinon ça marche très bien.

    $(function() {
        function login(input)
        {
            if($(input).val()== ''){
                $(input).css("border-color", "#FF0000");
                $(".erreur-champ").text("Champ invalide");
                $(".erreur-champ").show();
                return false;
            }
            else{
                $(".erreur-champ").text("");
                $(".erreur-champ").hide();
            }
            return true;
        }
        $("#envoyer").click(function()
            {
                test = login("input[name=login]");
    alert(test);
            });
    });
    


    alert(test) retourne bien false en plus...

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      7 juillet 2010 à 12:15:52

      non rien je dis de la merde.

      C'est quoi qui marche pas, les effets kikoolol ?
      • Partager sur Facebook
      • Partager sur Twitter
        7 juillet 2010 à 12:44:44

        Ca ne devrais pas recharger envoyer le formulaire normalement et bah là ça le renvoie quand même.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          7 juillet 2010 à 13:19:34

          si #envoyer c'est l'id de ton formulaire, remplace click par surmit et rajoute après l'alert
          return test;
          • Partager sur Facebook
          • Partager sur Twitter
            7 juillet 2010 à 13:43:52

            Ca marche toujours pas :s et en plus j'ai pas d'alert

            $(function() {
                
                function login(input)
                {
                    var valid = true;
                        if($(input).val()== ''){
                            $(input).css("border-color", "#FF0000");
                            $(input).next(".erreur-champ").text("Champ invalide");
                            $(".erreur-champ").show();
                            valid = false;
                        }
                        else{
                            $(input).css("border-color", "#00FF00");
                            $(input).next(".erreur-champ").text("");
                            $(".erreur-champ").hide();
                        }
                        
                        return valid;
                }
                
                $("#envoyer").submit(function()
                    {
                        test = login("input[name=login]");
                        alert(test);
                        return test;
                    });
            });
            
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              7 juillet 2010 à 13:47:59

              Citation

              si #envoyer c'est l'id de ton formulaire



              remplace "envoyer" par le bon id puisque manifestement c'est un boutton submit.
              • Partager sur Facebook
              • Partager sur Twitter
                7 juillet 2010 à 14:04:37

                J'ai que ça pour mon submit : <input type="submit" value="Envoyer" id="envoyer"/>

                Edit : Comme ça, ça fonctionne :

                $(function() {
                    
                    function login(input)
                    {
                        var valid = true;
                            if($(input).val()== ''){
                                $(input).css("border-color", "#FF0000");
                                $(input).next(".erreur-champ").text("Champ invalide");
                                $(".erreur-champ").show();
                                valid = false;
                            }
                            else{
                                $(input).next(".erreur-champ").text("");
                                $(".erreur-champ").hide();
                            }
                            
                            return valid;
                    }
                    
                    $("form#contact").submit(function()
                        {
                            test = login("input[name=login]");
                            return test;
                        });
                });
                


                Par contre pas moyen d'éviter de faire un return test ? parce que je vais pas faire ça pour tout mes champ quand même...
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  7 juillet 2010 à 14:14:37

                  oui, et moi je te parles de ton <form> :)


                  ( edit )
                  a toi de voir comment te débrouiller mais il faut faire l'équivalent d'un
                  return false;

                  pour que le formulaire ne soit pas soumis.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    7 juillet 2010 à 14:19:43

                    Ouais mais je vois pas comment faire... parce que dans la fonction je retourne false... et obliger de mettre la fonction dans une variable pour que ça marche ^o)

                    Et en plus lorsque je renvoie ma fonction ça affiche bien le JS et quand je renvoie ça passe directement par le PHP...
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Fonction ne fonctionne pas

                    × 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