Bonjour,

Je suis entrain de réalisé un formulaire qui va s'acheminer en plusieurs pages, et j'utilise donc une page test.php qui recois l'array des variables (SESSION) récupérés depuis la page contact.php contenant le premier formulaire.

Le problème c'est que l'orsque j'appuis sur submit (#btn_next), la verification des champs (en JAVASCRIPT) est correctement effectué mais lorsque les champs sont remplis et correctes je n'ai pas de redirection sur la page: test.php (qui serra la suite du formulaire).

j'ai pourtant fais ceci:

if($valid){
    $(function() {
            $("#robot").hide();
            $("#btn_next").click(function(){
                valid=true;

                if($("#nom").val()==""){
                    $("#nom").next(".error-message").fadeIn().text("Veuillez entrer votre nom");
                    valid=false;
                }
                else if(!$("#nom").val().match(/^[a-z-ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ]{2,15}$/i)){
                        $("#nom").next(".error-message").fadeIn().text("Votre nom n'est pas valide");
                        valid=false;
                }
                else{
                    $("#nom").next(".error-message").fadeOut();
                }

/* ceci pour tout les champs à verifier */

                if($("#tel").val()==""){
                    $("#tel").next(".error-message").fadeIn().text("Veuillez entrer votre télephone");
                    valid=false;
                }
                else if(!$("#tel").val().match(/^0[1-68](-. ]?[0-9]{2}){4}$/)){
                        $("#tel").next(".error-message").fadeIn().text("Votre numéro de télephone n'est pas valide");
                        valid=false;
                }
                else{
                    $("#tel").next(".error-message").fadeOut();         
                }
                                $("#text").submit();
                return valid            
            });
        }); 
}

Mais cela ne fonctionne pas, et même lorsque je renseigne le champs: (action:"") du form en indiquant la page test.php ça ne change rien.

Voici la page en question: ICI

PS: j'ai une erreur lorsque j'appuis sur le bouton "submit", à priori le problème pourrait provenir de là.

Uncaught TypeError: Cannot call method 'match' of undefined
(anonymous function)contact.php:80
c.event.handlejquery.js:63
c.event.add.h.handle.o

Pourriez-vous éclairer ma lanterne?

3 réponses


Tu as essayé de cliquer sur ton erreur ? Parceque ça te montre ou est ton erreur :
$('#CodePostal').val() =====> undefined
Ta div à l'id "codepostal" et non pas "CodePostal"

Shakuro
Auteur

Merci beaucoup pour la réponse, effectivement c'était écrit sous mes yeux mais je me focalisais sur la méthode match elle même et non pas sur la syntaxe de ce qui la précède... grossière erreur. Bref, la console ne m'indique plus aucune erreur et pourtant je n'ai toujours pas de redirection.

Ais-je mal placé mon ce code ?

return valid;   
$("#text").submit();

merci

Shakuro
Auteur

Hum, d'après ce que j'ai trouvé sur internet, "return" fait que la ligne qui suit n'est jamais exécutée. Et étant donné qu'après il y a :

$("#text").submit();

la fonction ne marche pas...
Savez-vous savez comment je pourrais contourner ça ?