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

jQuery Discussion :

Submit d'un form ne faisant pas de redirection.


Sujet :

jQuery

  1. #1
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Par défaut Submit d'un form ne faisant pas de redirection.
    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, la verification des champs (en PHP et 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 remplacé par la suite du formulaire).

    j'ai pourtant fais ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if($valid){
       header('Location: test.php');	
    }
    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à.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    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?

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    php coté serveur ...
    js coté client ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Par défaut
    Merci d'avoir répondu, cela dit cela ne m'aide pas grandement.

    D'après ce que j'ai compris de tes deux lignes, c'est que la redirection je devrais la faire dans la partie javascript et oublier mon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if($valid){
       header('Location: test.php');	
    }
    de la partie php ?

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ce bout de code c'est du javascript ou du php ???

    si c'est du javascript ... comment veux tu que ton navigateur interprète le php ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Par défaut
    Je crois qu'il y a confusion entre des méthodes php et javascript; dans ton code tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("form").submit(header('Location: test.php'));
    Donc dans ton jQuery tu inclut du php , cela ne peut pas marcher!

    je pense que :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $(function() {
    $("#submit").click(function(){
       $("form").submit();
    });
    et dans ton html:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form  method="post" action="test.php" id="text">
    Cela devrait suffire ... a tester


    Après test:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $(function() {
    $("btn_add").click(function(){
       $("text").submit();
    });
    ....
    //html
    <form  method="post" action="test.php" id="text">
    <input type="button" id="btn_add"/><!-- pas de submit -->

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    J'ai lancé ta page, et bam mon navigateur s'est mis à ramer de chez ramer, mon processeur est passé de 20% d'utilisation à 100% (j'ai un macbook pro 2008 avec 8go de ram + SSD)
    Ton site ne donne pas envie d'y rester, juste à cause de ce problème.

  7. #7
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    En tout cas, j'adore le select avec ses 31 options
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Par défaut
    Bonjour,

    merci tigunn pour cette réponse claire. Je testerais tout ça ce soir.

    La select avec les 31 options est tiré d'un plugin appelé selectzor. Car je ne serais pas dutout le refaire moi même, et effectivement lorsque j'applique un: "size= 10" sur la select année (dans le code html) la select perd tout son "style".


    Dukej, merci pour le compliment, dans ce cas là, n'y retourne plus et tu ne rameras plus . D'autant plus que tu es la première personne qui me signale ce genre de problème même avec un vieux dell inspiron 6400 core de duo et 2go de ram le processeur ne s'emballe pas chez moi...

  9. #9
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Par défaut
    Bonsoir,

    J'ai essayé d'y intégrer tes modifications, mais cela ne fonctionne pas... Alors soit je place mes morceaux de code au mauvais endroit, soit le problème vient d'ailleurs.
    PS: Tu avais oublié les dièses :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $(function() {
    $("#btn_add").click(function(){
       $("#text").submit();
    });
    ....
    //html
    <form  method="post" action="test.php" id="text">
    <input type="button" id="btn_add"/><!-- pas de submit -->
    PS2: Lorsque je place la fonction submit sous le click(function) le form est bien redirigé sur la page next.php mais la verification des champs ne s'effectue pas, c'est pour cela que j'ai essayé de placé la fonction submit après la verification des champs...

    PS3: En tout cas, merci pour le coup de patte !

  10. #10
    Inactif  

    Profil pro
    Inscrit en
    Mai 2010
    Messages
    345
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 345
    Par défaut
    Citation Envoyé par Shakuro Voir le message
    Bonjour,

    merci tigunn pour cette réponse claire. Je testerais tout ça ce soir.

    La select avec les 31 options est tiré d'un plugin appelé selectzor. Car je ne serais pas dutout le refaire moi même, et effectivement lorsque j'applique un: "size= 10" sur la select année (dans le code html) la select perd tout son "style".


    Dukej, merci pour le compliment, dans ce cas là, n'y retourne plus et tu ne rameras plus . D'autant plus que tu es la première personne qui me signale ce genre de problème même avec un vieux dell inspiron 6400 core de duo et 2go de ram le processeur ne s'emballe pas chez moi...
    Le problème vient de ton background avec la flash, il consomme plus de 50% du CPU, et c'est assez horrible. Je te conseille quand même d'y jeter un coup d'oeil en lancant le gestionnaire de taches quand tu accèdes à ton site.

  11. #11
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Par défaut
    Pour les selecteurs:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $("#btn_add")   // sélectionne l'élément dont l'id est 'btn_add'
    $("btn_add")   // équivaut au précédent
    $(".btn_add")   // sélectionne l'élément dont la classe est 'btn_add'
    Pour ton code, je ne l'ai pas tester mais ainsi, cela devrait fonctionner:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $("#btn_add").click(function(){
       // verif des champs
       .....
       // post formulaire
       $("#text").submit();
    });
    Bon courage, a+

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $("#btn_add")   // sélectionne l'élément dont l'id est 'btn_add'
    $("btn_add")   // équivaut au précédent

    $("btn_add") sélectionne les éléments dont le nom de balise est 'btn_add'.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Membre éclairé Avatar de tigunn
    Homme Profil pro
    Développeur de bug
    Inscrit en
    Janvier 2003
    Messages
    608
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de bug

    Informations forums :
    Inscription : Janvier 2003
    Messages : 608
    Par défaut
    j'ai encore confondu mootools et jQuery .
    Bien joué le contrôle

  14. #14
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Par défaut
    J'ai déjà procédé de cette façon hier soir sans résultat, d'où mon précédent message, voici le code js actuel:

    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
    		$(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();			
    				}
    				return valid
     
    				$("#text").submit();
    			});
    		});
    	</script>
    Une idée ?

  15. #15
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Par défaut
    Bonjour,

    J'ai trouvé d'où venait l'erreur de la console :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('#CodePostal').val() =====> undefined
    ma div à l'id "codepostal" et non pas "CodePostal"

    En modifiant tout ça, je n'ai plus d'erreur, mais la page ne se submit toujours pas .

    Savez-vous si j'ai mal organisé mon code ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    return valid;   
    $("#text").submit();

  16. #16
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 217
    Par défaut
    Citation Envoyé par Shakuro Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    return valid;  
    $("#text").submit();
    c'est ballot mais en procédant de la sorte le return fait que la ligne qui suit n'est jamais excécutée

  17. #17
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Par défaut
    Ah! le voila l'élément perturbateur!

    Et tu sais comment je peux contourner ça?

    Car la syntaxe js, j'avoue que j'ai du mal .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If(valid = true) {
    $("#text").submit();
    });

  18. #18
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 217
    Par défaut
    Citation Envoyé par Shakuro Voir le message
    Car la syntaxe js, j'avoue que j'ai du mal .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If(valid = true) {
    $("#text").submit();
    });
    je crois qu'il faut que tu (re)prennes les bases
    If(valid = true) {
    $("#text").submit();
    });
    devrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if( valid == true) { // test égalité -> ==, affectation -> =
      $("#text").submit();
    });
     // ou simplement 
    if( valid) {
      $("#text").submit();
    });

  19. #19
    Membre éprouvé

    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 42
    Par défaut
    Niquel

    PS: Juste que mes variables de sessions sont vides arrivés sur la page test.php alors qu'avant l'array contenait toute les infos des radios, inputs et selects. Il va falloir que je me penche sur ce nouveau problème.


    Page du formulaire:

    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
    <?php
    session_start();
     
    $_SESSION['Civilite'] = $civilite;
    $_SESSION['Nom'] = $nom;
    $_SESSION['Prenom'] = $prenom;
    $_SESSION['Email'] = $email;
    $_SESSION['Adresse'] = $adresse;
    $_SESSION['Code postal'] = $codepostal;
    $_SESSION['Ville'] = $ville;
    $_SESSION['Tel'] = $tel;
    $_SESSION['Date de naissance'] = $datedenaissance;
     
    if(!empty($_POST)){
    	extract($_POST);
    	$valid=true;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div class="conteneur_input">
    	<input type="text" name="nom" id="nom" value="<?php if(isset($nom)) echo $nom; ?>" maxlength="25"/>
    	<span class="error-message"><?php if(isset($erreurnom)) echo $erreurnom; ?></span>
    </div>
    Page de test.php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php 
            session_start();
            print_r($_SESSION);
            session_destroy();
    ?>

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

Discussions similaires

  1. submit form ne marche pas avec Firefox
    Par Regis0122 dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 14/05/2009, 11h16
  2. Réponses: 6
    Dernier message: 24/05/2008, 16h45
  3. [xhtml][css] bouton du form ne marche pas avec IE6
    Par chinouk dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 14/06/2005, 14h00
  4. Libérer une form, pb memoire pas totalement rendu.
    Par flash dans le forum Composants VCL
    Réponses: 4
    Dernier message: 07/10/2004, 14h43
  5. URGENT : Request.Form ne marche pas sous IE6
    Par Laurent Outan dans le forum ASP
    Réponses: 9
    Dernier message: 16/07/2004, 15h25

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