2009-12-18 62 views
2

是否可以同時提交兩種形式的javascript或提交按鈕?是否可以同時提交兩種表格?

形態結構是確定這樣的:

<form name="form1" method="post"> 
......... 
</form> 

<form name="form2" method="post"> 
......... 
</form> 

,並得到一個數組中從兩個數據?

回答

11

不,這是不可能的。您可以創建第三個隱藏表單,它將序列化來自兩個表單的字段。

如果你可以使用jQuery:

var str1 = $("form1").serialize(); 
var str2 = $("form2").serialize(); 
$.post(url, str1 + "&" + str2); 

你需要確保str1和str2的是不是空的,當然避免兩種形式之間的名稱衝突。

+0

@kgiannakakis如何序列化它們?我怎麼做?任何建議PLZ。 – Sarfraz 2009-12-18 11:25:44

+0

@kgiannakakis是否有可能不使用jQuery,我的意思是通過JavaScript或更準確地說沒有Ajax? – Sarfraz 2009-12-18 11:26:45

+0

例如kgiannakakis發佈的示例與Ajax無關。 – 2009-12-18 11:28:01

1

<form>標記的用途是封裝瀏覽器發送給服務器的信息。

解決此問題的唯一方法是使用一些JavaScript遍歷DOM,並從一個表單中提取信息,並在用戶單擊Submit時將其放入另一個表單中。

2

提交這兩個表單將觸發對發帖URL的兩次調用,因此您將無法同時獲取這兩個數據。

1

問題是提交表單會更改頁面的URL。這意味着當提交一個表單時,第二個表單不再存在於活動頁面中,因此cna不會被提交。

您需要通過AJAX提交它們。你使用任何JavaScript庫?

1

不,它不可能在單個頁面上。

AJAX提交可能是其他地方提到的,但另一個可能的解決方案可能是將第二個表單嵌入到另一個頁面中,並將該頁面放入第一個頁面的IFrame中。

不知道如何會泛出在現實中,但可能是值得一去試試

1

不,這是不可能的。

備份一秒鐘,告訴我們你想要完成什麼,以及爲什麼你覺得有兩種形式是必要的。可能有更優雅的解決方案。