我試圖動態創建表單並將其提交到服務器上,其中數據列表爲$(<checkbox>)
。jQuery動態表單提交兩次
$('<form>').attr("method", "post")
.attr('action', '/proceed')
.append(data)
.submit();
服務器發出2個請求的問題:發送數據並且沒有數據 - 只是空的表單。
提交發生一次,我曾嘗試解除提交之前。
我試圖動態創建表單並將其提交到服務器上,其中數據列表爲$(<checkbox>)
。jQuery動態表單提交兩次
$('<form>').attr("method", "post")
.attr('action', '/proceed')
.append(data)
.submit();
服務器發出2個請求的問題:發送數據並且沒有數據 - 只是空的表單。
提交發生一次,我曾嘗試解除提交之前。
<button />
的默認操作是在單擊它時提交表單。
正如我在我的評論中提到的,您需要在創建自己的作品之前取消該提交;
$('.activateEventButton').on('click', function (e) {
activateEvents();
e.preventDefault(); // prevent the submission.
});
這就是這一點,但它不起作用。 奇怪的是,第二次提交來自GET,但第一次通過POST GET請求來空,沒有任何數據,POST是正常的數據 – ekitru 2013-03-04 11:00:52
@ekitru:你確定'GET'是一個第二次提交,而不是在收到POST後重定向? POST是否包含正確的表單信息?你有*使用這種形式的任何*其他代碼? (和任何插件?) – Matt 2013-03-04 11:02:59
不,我沒有,但在瀏覽器中,我看到第一次POST頁面後重定向正確,然後GET請求到服務器沒有數據。 但我不確定,爲什麼在submit()頁面重定向後單獨地 – ekitru 2013-03-04 11:06:07
你是在現有的'submit'處理程序中,還是在'submit'操作的'click'處調用你的代碼?如果是這樣,你需要在你做之前取消提交('return false;'從事件處理程序中)。 – Matt 2013-03-04 10:54:59
我有一個