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 :

Connection au formulaire ajax incorrecte


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2006
    Messages : 467
    Points : 342
    Points
    342
    Par défaut Connection au formulaire ajax incorrecte
    Bonjour
    Voila mon code
    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
    mots=pass.join('');alert("password "+mots);
    $('#envoyer').click(function() {
     
                var mail = $('#mail').val();
     
                var motPasse = mots;
                alert("sousmision mot de passe =>"+motPasse+" mail =>"+mail); // <= jusqu'à là ça fonctionne
                $.post('tableau.php', {
                    'mail': mail,
                    'motPasse': motPasse
                }, reponseConnection);
            });
     
    		function reponseConnection() {
                alert("sousmision deuxieme fois mot de passe =>"+motPasse+" mail =>"+mail);
    	        }
    voici tableau.php
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $mail = $_POST['mail'];
    $motPasse = $_POST['motPasse'];
    echo "mail '.$mail.'mot de passe '.$motPasse'";
    var_dump($mail);var_dump($motPasse);   // <= rien ne fonctionne ni les vardump
    Merci pour l'aide que vous pourrez m' apporter.

  2. #2
    Membre expert Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2012
    Messages
    1 928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 1 928
    Points : 3 694
    Points
    3 694
    Par défaut
    Bonjour,

    Si le bouton #envoyer est de type submit, il faut empêcher le navigateur de se recharger avec preventDefault().

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2006
    Messages : 467
    Points : 342
    Points
    342
    Par défaut
    Merci.
    les alert() et la fonction tableau.php et reponseConnection ne fonctionnent pas.

  4. #4
    Membre expert Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2012
    Messages
    1 928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 1 928
    Points : 3 694
    Points
    3 694
    Par défaut
    Question bête : as-tu chargé jQuery avant d'appeler le script js ?

    Ouvre la console du navigateur et regarde les erreurs s'ils y'en a.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2006
    Messages : 467
    Points : 342
    Points
    342
    Par défaut
    j'ai en effet charger jquery.
    voici une partie du code. J'ai emménager un pass qui n'as pas de formulaire pour id jquery.
    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
     
    		var clics = 0;
    		var mots;
    		$( "#tableau tr td div" ).on( "click", function() {
    			if (clics<6)  
    		{	$("#masquesaisie").append("*");pass[clics]=$(this).text();
    		clics++;
     
    		}
    			 else {mots=pass.join('');alert("password "+mots);}
    			});
     
    		$('#envoyer').submit(function( event ) {
    			  event.preventDefault();
     
    			var mail = $('#mail').val();
     
                var motPasse = mots;
                alert("sousmision mot de passe =>"+motPasse+" mail =>"+mail);
     
     
             $.post('tableau.php', {
                    'mail': mail,
                    'motPasse': motPasse
                }, reponseConnection);
            });
     
    		function reponseConnection() {
                alert("sousmision deuxieme fois mot de passe =>"+motPasse+" mail =>"+mail);
    	        }

  6. #6
    Membre expert Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2012
    Messages
    1 928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 1 928
    Points : 3 694
    Points
    3 694
    Par défaut
    Quand tu fais ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('#envoyer').submit
    le id id="envoyer" c'est un attribut du <form> ou bien du bouton submit ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2006
    Messages : 467
    Points : 342
    Points
    342
    Par défaut
    Voici le code.
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <form id="coffre" action="#" method="post">
        <button type="submit" id="envoyer" title="Envoyer">Valider</button>
        <button type="reset" id="reset" title="Reinitialiser">Effacer</button>
        </form>

  8. #8
    Membre expert Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2012
    Messages
    1 928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 1 928
    Points : 3 694
    Points
    3 694
    Par défaut
    Eh ben non, le submit doit être attaché au <form> et pas au bouton, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $("#coffre").submit(....);

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2006
    Messages : 467
    Points : 342
    Points
    342
    Par défaut
    merci.
    et pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $.post('tableau.php', {
                    'mail': mail,
                    'motPasse': motPasse
                }, reponseConnection);
            });
     
    		function reponseConnection() {
                alert("sousmision deuxieme fois mot de passe =>"+motPasse+" mail =>"+mail);
    	        }
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $mail = $_POST['mail'];
    $motPasse = $_POST['motPasse'];
    echo "mail '.$mail.'mot de passe '.$motPasse'";
    var_dump($mail);var_dump($motPasse);

  10. #10
    Membre expert Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    janvier 2012
    Messages
    1 928
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

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

    Informations forums :
    Inscription : janvier 2012
    Messages : 1 928
    Points : 3 694
    Points
    3 694
    Par défaut
    Utilise le callback done pour gérer le retour du fichier php et fail pour les erreurs :
    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
     
    $.post('tableau.php', 
                {  
                    'mail': mail,
                    'motPasse': motPasse
                }
    )
    .done(function(data){
          reponseConnection(data);//on ajoute le data comme paramètre de la fonction reponseConnection
    })
    .fail(function(erreur){
        alert("Erreur post :"+erreur);
    });
    function reponseConnection(d) {//n'oublis pas ça ! 
           console.log("d :"+d);//des console.log sont mieux que des alert
    }

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2006
    Messages : 467
    Points : 342
    Points
    342
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $.post('tableau.php', {
                    'mail': mail,
                    'motPasse': motPasse
                }, reponseConnection);
            });
     
    //	cela fonctionne	=>
    function reponseConnection() {
                alert("sousmision deuxieme fois mot de passe =>"+motPasse+" mail =>"+mail);
    	        }
    tableau.php ne semble pas fonctionner.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $mail = $_POST['mail'];
    $motPasse = $_POST['motPasse'];
    echo "mail ".$mail;
    var_dump($mail);
    voila ce qu il y a dans la console.
    Unchecked runtime.lastError: The message port closed before a response was received.
    puis en regardant au plus prés:
    Notice: Undefined index: mail in C:\wamp\www\confucius\tableau.php on line 2
    Call Stack
    # Time Memory Function Location
    1 0.0011 354696 {main}( ) ...\tableau.php:0

    ( ! ) Notice: Undefined index: motPasse in C:\wamp\www\confucius\tableau.php on line 3
    Call Stack

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2006
    Messages : 467
    Points : 342
    Points
    342
    Par défaut
    j'aichanger tableau php en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if (empty($_POST['mail'])) {echo 'mail vide   ';}
    if (empty($_POST['motPasse'])) {echo 'pass vide';}
    ]
    et en effet tout est vide.
    comment faire? sachant que motPasse n'est pas dans le formulaire mais est saisi en cliquant sur des chiffres.
    merci

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    juillet 2006
    Messages
    467
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : juillet 2006
    Messages : 467
    Points : 342
    Points
    342
    Par défaut
    J'avais un champ non inclus dans le formulaire. j'ai modifier mon formulaire et organiser la saisie des données via cliques sur des chiffres.
    La saisie du champs se fait en jquery. et cela fonctionne.
    $('input[name=passeMot]').val(mots);
    puis cela fonctionne.
    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
     
    $("#coffre").submit(function( event ) {
    			  event.preventDefault();
    			var  mail = $('#mail').val();
    			var  motPasse = $('#motPasse').val();
    			  clics=0;
                alert("sousmision mot de passe =>"+motPasse+" mail =>"+mail);
     
     
             $.post('tableau.php', {
                    mail: $('#mail').val(),
                    motPasse: $('#motPasse').val()
                },  
                function(data){
     
                    if(data == 'Success'){
                         // Le membre est connecté. Ajoutons lui un message dans la page HTML.
     
                         $("#resultat").html("<p>Vous avez été connecté avec succès !</p>");
                    }
                    else{
                         // Le membre n'a pas été connecté. (data vaut ici "failed")
     
                         $("#resultat").html("<p>Erreur lors de la connexion...</p>");
                    }
     
                },
                'text'
             );
        });
    Merci à toi Toufik83.

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

Discussions similaires

  1. connecter un formulaire à plus d'une table
    Par vautour29 dans le forum IHM
    Réponses: 2
    Dernier message: 17/09/2010, 18h35
  2. [CS5] Connecter un formulaire de recherche avec Xpath
    Par chronosr dans le forum Flash
    Réponses: 0
    Dernier message: 11/09/2010, 15h00
  3. Réponses: 7
    Dernier message: 17/08/2010, 18h05
  4. Réponses: 1
    Dernier message: 30/06/2010, 07h23
  5. Réponses: 4
    Dernier message: 03/07/2008, 00h15

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