我有幾種形式(用戶可以動態添加新表單)在一個頁面中,它們都被提交給相同的struts2操作。我需要在用戶點擊保存按鈕時提交所有這些表單。
事情在FF中進展順利。但在IE和Google chrome中,只有最後一個表單被提交。在IE和谷歌瀏覽器中多表單提交
任何幫助表示讚賞。謝謝。
每個窗體的元素是相同的,一個窗體構成一個對象。每個表單的數據將被添加到一個域對象中,然後該對象將被保存到數據庫中。
JavaScript函數來處理保存操作:
<script type="text/javascript" >
function submit() {
var formCnt = document.getElementById('formCnt').value;
for(var i = 1; i <= formCnt; i++) {
var formName = 'form' + i;
document.forms[formName].submit();
}
}
</script>
...
<input type="hidden" id="formCnt" name="formCnt" value="5" />
<form action="add.htm" name="form1" id="form1" method="post" enctype="multipart/form-data" />
<input type="text" name="item.price" id="item.price" value="" />
...
</form>
<form action="add.htm" name="form2" id="form2" method="post" enctype="multipart/form-data" />
<input type="text" name="item.price" id="item.price" value="" />
...
</form>
...
<form action="add.htm" name="form5" id="form5" method="post" enctype="multipart/form-data" />
<input type="text" name="item.price" id="item.price" value="" />
...
</form>
...
通過「它在FF工作」我想你的意思是數據保存到數據庫?你沒有同時從同一個struts動作中收到所有形式的所有內容,對嗎? – deceze 2009-08-27 05:52:22
只有一個名爲AddAction的struts動作,頁面上的表單全部提交給AddAction。所以我不能在jsp頁面中使用不同的字段名稱,就像你在上面的html src中看到的那樣。我正在考慮使用XHR嘗試異步提交。希望這會起作用。感謝您的詳細解答。 – user163970 2009-08-27 08:26:33
您無法控制服務器端腳本?順便說一下,投票和接受按鈕是表示感謝的首選方式。 :o) – deceze 2009-08-27 12:49:34