2012-07-07 272 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

你打敗了我。我的upvote先生。 – Ruel 2012-07-07 08:03:59

+1

@undefined ++ 1 bazinga! – 2012-07-07 08:08:08

+0

@undefined謝謝,其實.serialize是我嘗試的第一件事。似乎沒有捕獲複選框數組。然後我試着:$('#form4:input')。not(':submit')。clone()。hide()。appendTo('#form1');這對所有輸入都很好,但不是