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 :

Comparer la valeur d'un input avec un champ de db [AJAX]


Sujet :

jQuery

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Points : 38
    Points
    38
    Par défaut Comparer la valeur d'un input avec un champ de db
    Bonjour,
    Toujours dans mon apprentissage d'Ajax. Il s'agit de comparer la réponse entrée dans un champ input avec une valeur dans une db mysql.

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
      <div id="answer">
            <form id="answerInput" action="index" method="post">
              <div id="answer-warning"></div>
              <div><input id="answer-input" name="answer" type="text"></div>
              <input type="hidden" id="id" name="id" value="<?=$id?>">      
              <div><button type="submit" id="validate">Valider</button></div>
            </form>
        </div>

    Code JS : 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
    $("#validate").click(function(e){
        e.preventDefault(); 
        $.post(
            'includes/checkAnswer.php',
            {            
               answer : $('#answer-input').val(),
               id : $('#id').val()
            }, 
            function(data){ 
                if(data === '1'){ 
                     $("#answer-warning").html("OK");
                 }
                else{
                     $("#answer-warning").html("WRONG");
                 }         
            },
            'text'
         );
    });

    Le fichier checkAnswer.php va comparer les champs dans la DB et afficher 1 si la réponse est correcte. Tout fonctionne bien, il affiche correctement OK ou WRONG selon la réponse, mais comment valider le formulaire du coup ? Il faut placer le preventdefault ailleurs? Désolé je rame encore un peu avec les requêtes Ajax...

  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 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 656
    Points
    66 656
    Billets dans le blog
    1
    Par défaut
    Dans le success de ton post ( c'est a dire lors du retour de la réponse ajax ) dans le test lorsque c'est ok tu feras le submit()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $("#answerInput").submit();
    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
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Points : 38
    Points
    38
    Par défaut
    Ainsi ?
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     if(data === '1'){ 
                     $("#answer-warning").html("OK");
                     $("#answerInput").submit();
                }
    Alors je crois que j'avais essayé ça, mais ça ne soumet pas le formulaire en tout cas :/ (et pas de message d'erreur dans la console)
    Idem si je remplace le .click par un .on('submit') sur le form et pas le bouton.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 122
    Points : 38
    Points
    38
    Par défaut
    Ok, mon button type était resté en "submit" alors qu'il doit être en "button", ce qui permet a dû interférer avec le submit du form. Ca marche maintenant !

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 20/04/2017, 15h22
  2. Réponses: 8
    Dernier message: 19/01/2017, 16h44
  3. Réponses: 10
    Dernier message: 13/07/2012, 09h39
  4. [XSLT 2.0] Comparer la valeur d'un attribut avec tous les autres
    Par VforVincent dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 02/09/2011, 17h26
  5. [AJAX] Changer la valeur d'un input avec une valeur récupérée en php
    Par leroidje dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 05/08/2008, 15h12

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