73 votes

jQuery - Récupération des valeurs de formulaire pour ajax POST

J'essaie d'envoyer les valeurs d'un formulaire par AJAX à un fichier php. Comment puis-je collecter les valeurs de mon formulaire pour les envoyer dans le paramètre "data" ?

$.ajax({
        type: "POST",
        data: "submit=1&username="+username+"&email="+email+"&password="+password+"&passconf="+passconf,
        url: "http://rt.ja.com/includes/register.php",
        success: function(data)
        {   
            //alert(data);
            $('#userError').html(data);
            $("#userError").html(userChar);
            $("#userError").html(userTaken);
        }
    });

HTML :

<div id="border">
  <form  action="/" id="registerSubmit">
    <div id="userError"></div>
      Username: <input type="text" name="username" id="username" size="10"/><br>
      <div id="emailError" ></div>
      Email: <input type="text" name="email" size="10" id="email"/><br>
      <div id="passError" ></div>
      Password: <input type="password" name="password" size="10" id="password"/><br>
      <div id="passConfError" ></div>
      Confirm Password: <input type="password" name="passconf" size="10" id="passconf"/><br>
      <input type="submit" name="submit" value="Register" />
  </form>
</div>

141voto

Robin Points 10884

Utilisez la méthode de sérialisation :

$.ajax({
    ...
    data: $("#registerSubmit").serialize(),
    ...
})

Docs : serialize()

14voto

user2675084 Points 19
$("#registerSubmit").serialize() // returns all the data in your form
$.ajax({
     type: "POST",
     url: 'your url',
     data: $("#registerSubmit").serialize(),
     success: function() {
          //success message mybe...
     }
});

6voto

Headshota Points 11302

Vous pouvez utiliser la fonction val pour collecter les données des entrées :

jQuery("#myInput1").val();

http://api.jquery.com/val/

4voto

Baz1nga Points 10252
var data={
 userName: $('#userName').val(),
 email: $('#email').val(),
 //add other properties similarly
}

et

$.ajax({
        type: "POST",
        url: "http://rt.ja.com/includes/register.php?submit=1",
        data: data

        success: function(html)
        {   
            //alert(html);
            $('#userError').html(html);
            $("#userError").html(userChar);
            $("#userError").html(userTaken);
        }
    });

Vous n'avez pas à vous soucier de quoi que ce soit d'autre. jquery se chargera de la sérialisation, etc. Vous pouvez également ajouter le paramètre submit query string submit=1 dans l'objet data json.

1voto

var username = $('#username').val();
var email= $('#email').val();
var password= $('#password').val();

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X