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 :

Erreur information formulaire ajax [AJAX]


Sujet :

jQuery

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut Erreur information formulaire ajax
    Bonjour,
    je viens vers vous car je n'arrive pas à faire la réception de mes infos de l'ajax jusqu'à mon fichier d'import.

    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
     
    <script type ="text/javascript">
    $(document).ready(function() {
            //alert();
            $('#formulaire').submit(function() {
                //Q1 = $(this).find('#Q1').val();
                Q1 = $('input[type=radio][name=Q1]:checked').attr('value');
                Q2 = $('input[type=radio][name=Q2]:checked').attr('value');
                Q3 = $('input[type=radio][name=Q3]:checked').attr('value');
                //
                $.ajax({
                    url: 'squelettes-melanie/lib/register.php',
                    method: 'POST',
                    data : {Q1,Q2,Q3},
                    dataType: "html", 
                    context: $(this),
                   ...........
            });
        });		
    </script>
     
    ------------------------------------
     
    echo '<form method="POST" name="formulaire" action="" id="formulaire" >';
    echo '<table>';
    echo '<tr><td><div id="RGPD_global" style="float:center;width:100%;">
    	<div id="RGPD" style="float:left;width:15px;margin-left:5px;">A)</div></td></tr>';
    echo '<tr><td><div id="RGPD_rep" style="margin-left:40px;"><input type="radio" id="Q1" name="Q1" value="1" '.$Q1_y.' required name="Q1" >&nbsp;&nbsp;oui<br \>';
    echo '<input type="radio" id="Q1" name="Q1" value="0" '.$Q1_n.' required name="Q1">&nbsp;&nbsp;non</div></td></tr>';
    echo '</table>';
    echo '<table>';
    echo '<tr><td><div id="RGPD_global" style="float:center;width:100%;">
    	<div id="RGPD" style="float:left;width:15px;margin-left:5px;">B)</div>
    	</td></tr>';
    echo '<tr><td><div id="RGPD_rep" style="margin-left:40px;"><input type="radio" id="Q2" name="Q2" value="1" '.$Q2_y.' required name="Q2" >&nbsp;&nbsp;oui<br \>';
    echo '<input type="radio" id="Q2" name="Q2" value="0" '.$Q2_n.' required name="Q2">&nbsp;&nbsp;non</div></td></tr>';
    echo '</table>';
    echo '<table>';
    echo '<tr><td><div id="RGPD_global" style="float:center;width:100%;">
    	<div id="RGPD" style="float:left;width:15px;margin-left:5px;">C)</div>';
    echo '<tr><td><div id="RGPD_rep" style="margin-left:40px;"><input type="radio" id="Q3" name="Q3" value="1" '.$Q3_y.' required name="Q3">&nbsp;&nbsp;oui<br \>';
    echo '<input type="radio" id="Q3" name="Q3" value="0" '.$Q3_n.' required name="Q3">&nbsp;&nbsp;non</div></td></tr>';
    echo '</table>';
    echo '</div></br></br>';
    echo '<div id="contactLine">';
    	echo '<div class="floatLeft">';
    		echo '<div class="bouton_form_1" onClick="goBack(\'spip.php?page=souscription_client&id_rubrique=5&numero_tiers='.$_SESSION['DonneesTiers']['No_Tiers'].'\');" > Retour </div>';
    	echo '</div>';
    	echo '<div class="floatRight">';
    		echo '<div><button type="submit" style="border:0px;" class="bouton_form_1" >Valider</button></div>';
    	echo '</div>';	
    echo '</form>';
    Quand je clique sur le bouton valider je vois bien que les infos sont traités mais il n'importe rien en base. A savoir les infos ne passe pas de l'ajax à ma register......
    Pourtant j'ai bien fait un die() en haut de ma page pour voir si il passait dedans mais rien n'y fait.

    Si quelqu'un a une idée, je suis prenneur.

    Merciiiiiiiiiii

  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    • plusieurs maladresse dans ton code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('input[type=radio][name=Q1]:checked').attr('value');
    devrait être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $('input[type=radio][name=Q1]:checked').val();
    Voir jQuery.val()

    Il te faudrait regarder également du côté de jQuery.serialize(), cela pourrait te simplifier la vie.

    • Lorsque tu passes tes paramètres il faut que data ait la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    data : {
      "key_1": valeur_1,
      "key_2": valeur_2,
      "key_3": valeur_3
    }
    • Lorsque tu fais une requête via Ajax il te faut annuler la soumission par défaut du formulaire.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $( "form" ).on( "submit", function( event ) {
      event.preventDefault();
      // la suite du code

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Bonsoir,

    merci je testerais demain.

    Merciiiiii

  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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    l'action de ton form n'est pas inhibée,la page se recharge.
    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 régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Bizarre les modifs ont été faites mais le problème persiste toujours.

    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
     
    $(document).ready(function() {
            //alert();
            $('#formulaire').on("submit",(function(event) {
                event.preventDefault();
                //Q1 = $(this).find('#Q1').val();
                Q1 = $('input[type=radio][name=Q1]:checked').val();
                Q2 = $('input[type=radio][name=Q2]:checked').val();
                Q3 = $('input[type=radio][name=Q3]:checked').val();
                alert(Q1.serialize());
                //
                $.ajax({
                    url: 'squelettes-melanie/lib/register_RGPD.php',
                    method: 'POST',
                    data : {'key_1':Q1,'key_2':Q2,'key_3':Q3},
                    dataType: "html", 
                    context: $(this),
                    beforeSend: function() {
                        $(this).dialog("close");
                        $('#RGPD_result').html('<div class="loading"><img src="/IMG/gif/ajax-loader.gif" align="absmiddle" width="31" height="31" border="0">Chargement en cours... veuillez patienter.</div>');
                    }                
                });
            }));
        });
    Le formulaire n'a pas changé.

  6. #6
    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 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 637
    Points : 66 661
    Points
    66 661
    Billets dans le blog
    1
    Par défaut
    l'action de ton form n'est pas inhibée,la page se recharge.
    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 !

  7. #7
    Modérateur

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

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    il a rajouté event.preventDefault();.

    • Par contre : alert(Q1.serialize()) ne doit pas donner grand chose si ce n'est une erreur, il serait préférable de mettre console.log($(this).serialize()).

    data : {'key_1':Q1,'key_2':Q2,'key_3':Q3}, signifie que côté serveur on récupère $_POST["key_1"] etc ...

  8. #8
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    as-tu charger la bibliothèque jQuery dans une balise <script> ?

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 184
    Points : 87
    Points
    87
    Par défaut
    Bonjour,
    excusez moi de revenir si tardivement, mais oui la librairie jquery est bien chargé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    src="squelettes/js/jquery-1.7.2.min.js"
    Par contre le problème persiste encore, les informations ne sont pas envoyé au à mon fichier.

    Je cherche toujours la solution.

  10. #10
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

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

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    tout d'abord il faut vérifier qu'ajax s'est terminée avec succès ou avec une erreur.
    comment tu veux récupérer les données envoyées depuis le fichier php dans ajax sans utiliser les callbacks success et error?
    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
     
    $('#formulaire').on("submit",function(event) {
                event.preventDefault();
                Q1 = $('input[type=radio][name=Q1]:checked').val();
                Q2 = $('input[type=radio][name=Q2]:checked').val();
                Q3 = $('input[type=radio][name=Q3]:checked').val();
     
                $.ajax({
                    url: 'squelettes-melanie/lib/register_RGPD.php',
                    method: 'POST',
                    data : {'key_1':Q1,'key_2':Q2,'key_3':Q3},
                    dataType: "html", 
                    context: $(this),
                    beforeSend: function() {
                        $(this).dialog("close");
                        $('#RGPD_result').html('<div class="loading"><img src="/IMG/gif/ajax-loader.gif" align="absmiddle" width="31" height="31" border="0">Chargement en cours... veuillez patienter.</div>');
                    },
                    success:function(data){//si tout va bien
                      console.log('success :'+data);
                    },
                    error:function(err){//s'il y a une erreur
                      alert('erreur ajax :'+err);
                   }                
                });
            });

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

Discussions similaires

  1. [1.x] Formulaire ajax et erreurs.
    Par jeronimo83 dans le forum Symfony
    Réponses: 0
    Dernier message: 01/05/2010, 20h55
  2. Erreur sous formulaire
    Par lito74 dans le forum Access
    Réponses: 9
    Dernier message: 13/12/2006, 11h53
  3. [AJAX] Liste déroulante pour afficher les informations en ajax div ?
    Par rob2-9 dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 17/11/2006, 09h06
  4. Petite erreur sur formulaire
    Par shub dans le forum Access
    Réponses: 2
    Dernier message: 26/04/2006, 11h55
  5. erreur de formulaire, insertion BD
    Par bachilbouzouk dans le forum ASP
    Réponses: 7
    Dernier message: 12/04/2005, 08h22

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