48

複数のフォームを 1 つにシリアル化して、投稿または ajax リクエストが 1 つだけ行われるようにすることはできますか? 私は周りを検索しましたが、post/ajax を介して各フォームを個別に送信するだけです。

4

4 に答える 4

138

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

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

于 2012-02-14T16:55:19.703 に答える
32

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

于 2012-02-14T16:49:17.653 に答える
23

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

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

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

上記の行は文字列値を返します。お気に入りcustomId=08071992&cort=01&empId=7777

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

于 2012-05-19T21:06:25.437 に答える