web-dev-qa-db-fra.com

Sérialiser plusieurs formulaires ensemble?

Pouvez-vous sérialiser plusieurs formulaires en un seul afin qu'une seule demande de publication ou ajax soit effectuée? J'ai cherché autour et c'est tout pour soumettre chaque formulaire séparément via post/ajax.

41
arbme

Lorsque vous utilisez la fonction jQuery serialize(), elle transforme simplement votre formulaire en une chaîne au format a=1&b=2&c=3. Vous pouvez donc certainement appliquer cette fonction à deux formulaires et concaténer le résultat, avec un & entre eux, et utilisez le résultat dans votre appel ajax. Vous voudriez quelques vérifications pour vous assurer qu'aucune chaîne n'est vide lorsque vous effectuez la concaténation.

27
Jacob Mattison

Si vous exécutez $('form').serialize() sur une page avec plusieurs formulaires, il sérialisera correctement tous les formulaires en une seule chaîne.

Pour inclure uniquement certains formulaires, utilisez $('#form1, #form2').serialize()

129
472084

J'aime la réponse de Jleagle ci-dessus.

si vous êtes plus précis sur les formulaires, utilisez

$('#detailsform,#levelForm').serialize();

la ligne ci-dessus renverra une valeur de chaîne. comme customId=08071992&cort=01&empId=7777

vous pouvez éviter les champs indésirables en ajoutant l'attribut disabled="disabled" aux champs de saisie ou en d'autres termes les champs "désactivés" ne seront pas sérialisés.

19
Vins