web-dev-qa-db-ja.com

複数のフォームを一緒にシリアル化しますか?

複数のフォームを1つにシリアル化して、1つの投稿またはAjaxリクエストのみを作成できますか?私はあちこち検索しましたが、すべてはpost/ajaxを介して各フォームを非公開で送信するためのものです。

41
arbme

JQuery serialize()関数を使用すると、フォームは単にa=1&b=2&c=3形式の文字列に変換されます。したがって、この関数を2つのフォームに確実に適用し、その間に&を付けて結果を連結し、その結果をajax呼び出しで使用できます。連結を行うときに、どちらの文字列も空でないことを確認するためのチェックが必要になります。

27
Jacob Mattison

複数のフォームがあるページで$('form').serialize()を実行すると、allフォームが1つの文字列に正しくシリアル化されます。

特定のフォームのみを含めるには、$('#form1, #form2').serialize()を使用します

129
472084

Jleagle 上記の回答が好きです。

フォームについてより具体的な場合は、

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

上記の行は文字列値を返します。 customId=08071992&cort=01&empId=7777など

属性disabled="disabled"を入力フィールドに追加することで、不要なフィールドを回避できます。つまり、「無効」フィールドはシリアル化されません。

19
Vins