2012-07-07 28 views
8

私はページに4つのフォームを持っています。私はフォームがネストできないことを知っています。そのために提示jQuery複数のフォーム提出

<form id="form1"></form>

<form id="form2"></form>

<form id="form3"></form>

<form id="form4"></form>

フォーム1とフォーム4は同じPHPページに投稿して処理します。 フォーム1には1つの入力フィールドがあります フォーム4には複数のフィールドとチェックボックスがあり、選択します。

両方のフォームの結合フィールドを送信するフォーム1またはフォーム4の両方に最適なアプローチは何ですか?

私はjQueryを試してみましたが、テキスト入力とチェックボックスでうまく動作しますが、Selectで動作させることはできません。 フォーム1とフォーム4を組み合わせて使用​​し、CSSを使用してフォーム1の位置を変更しようとしましたが、レイアウトを正しく取得できません。

これは簡単ですか?

答えて

10

これはできません。あなたは、フォームのデータを取得するためのserialize()またはserializeArray()メソッドを使用するとAjaxを使用してサーバーにそれらを投稿することができ、次のいずれか

提出のための文字列としてフォーム要素のセットをコードします。

$('#send').click(function() { 
    var firstFormData = $('form:eq(0)').serializeArray(); 
    var fourthFormData = $('form:eq(3)').serializeArray(); 
    $.ajax({ 
     url : '...', 
     type : 'post', 
     data : firstFormData.concat(fourthFormData) 
    }).done(function() { 
     // ... 
    }); 
}); 
+2

あなたは私にそれを打つ。私のアップヴォートをしてください。 – Ruel

+1

@undefined ++ 1 bazinga! –

+0

@undefinedありがとう、実際には.serializeが私が試した最初のことです。チェックボックスの配列をキャプチャしていないようです。次に、私は試しました:$( '#form4:input')not( ':submit')。それはすべての入力でうまくいくが、