J'ai 1 page principale avec un formulaire et une autre page pour traiter la valeur du formulaire, voici les codes source des 2 pages
Form Page:
<meta charset="UTF-8">
<title>Form Page</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form action="process.php" method="post" id="reg-form">
Username: <input type="text" id="username" name="username">
<br>
Password: <input type="password" id="password" name="password">
<br>
<button type="submit" id="submit-btn">Traditional Submit</button>
<button type="button" id="post-btn">$.Post Submit</button>
</form>
<script>
$("#post-btn").click(function(){
$.post("process.php",function(data){
alert(data);
});
});
</script>
page de processus:
<?php
$username=$_POST["username"];
$password=$_POST["password"];
echo "Username: ".$username;
echo "<br>";
echo "Password: ".$password;?>
si je clique sur le bouton "Envoyer traditionnel", cela fonctionne parfaitement.
mais lorsque je clique sur le bouton "$ .Post Submit", le message d'erreur "Avis: index indéfini ... ..." continue de s'afficher.
Je ne peux pas comprendre où se situe le problème, merci de bien vouloir vérifier et corriger, merci d'avance!
Vous devez également sélectionner et envoyer les données du formulaire:
$("#post-btn").click(function(){
$.post("process.php", $("#reg-form").serialize(), function(data) {
alert(data);
});
});
Consultez la documentation de la méthode jQuery serialize
, qui code les données des champs de formulaire dans une chaîne de données à envoyer au serveur.
Obtenez la valeur de vos zones de texte en utilisant val()
et stockez-les dans une variable. Transmettez ces valeurs à travers $.post
. En utilisant le $.Post Submit button
vous pouvez réellement supprimer le formulaire.
<script>
username = $("#username").val();
password = $("#password").val();
$("#post-btn").click(function(){
$.post("process.php", { username:username, password:password } ,function(data){
alert(data);
});
});
</script>
Votre $.post
Ne contient aucune donnée. Vous devez transmettre les données du formulaire. Vous pouvez utiliser serialize()
pour publier les données du formulaire. Essaye ça
$("#post-btn").click(function(){
$.post("process.php", $('#reg-form').serialize() ,function(data){
alert(data);
});
});