J'ai un formulaire avec plusieurs champs, ce qui permet d'ajouter des champs.
Le formulaire est comme suit:
<form id="myForm" action="myfile.php" >
<input . . >
<select>. . . </select>
</form>
myfile.php a le code suivant:
foreach ($_POST as $key => $value) {
echo $key." takes the <b>".$value."</b> Value";
}
Ce code simple traite toutes les entrées du formulaire, peu importe le nombre.
Maintenant, ce que je veux c'est:
Lorsque je clique sur le bouton Soumettre, au lieu d’envoyer le contenu du formulaire à un script, obtenir ce tableau et le transmettre au format AJAX sans avoir à écrire manuellement chaque clé et sa valeur.
J'espère que ça a du sens
Réponses:
1 pour la réponse № 1Je pense que ce que vous cherchez, c'est sérialiser ()
jQuery(function ($) {
//submit handler
$("#myForm").submit(function (e) {
//prevent default submit
e.preventDefault();
$.ajax({
url: $(this).attr("action"),
type: "POST",
data: $(this).serialize(),
....
})
});
})
0 pour la réponse № 2
Vous pouvez utiliser jQuery serialize()
méthode
$("#myForm").submit(function(e){ //To listen submit event
e.preventDefault(); //To prevent default browser action
var data=$(this).serialize(); // To get form data
$.post($(this).attr("action"),data,function(data){ //To perform post
$("#result").html(data); //Result data
});
});