我正在使用這個插件:http://malsup.com/jquery/form/#getting-startedajax/jquery的多種形式?
我有問題,讓它在頁面上同時提交(使用單個函數)多個表單,並使其更加複雜,我正在加載通過ajax從一個遠程html調用的形式。所以表單函數需要重新加載。
的問題是如何使用(如果可能的話),可重複使用的功能,可以在同一時間提交多份表格。
我正在使用這個插件:http://malsup.com/jquery/form/#getting-startedajax/jquery的多種形式?
我有問題,讓它在頁面上同時提交(使用單個函數)多個表單,並使其更加複雜,我正在加載通過ajax從一個遠程html調用的形式。所以表單函數需要重新加載。
的問題是如何使用(如果可能的話),可重複使用的功能,可以在同一時間提交多份表格。
可能你可以使用LiveQuery該問題的插件。它可以工作就像例如
<button ... rel="formId"/>
jQuery(".formButton").livequery("click",function() {
var formId=jQuery(this).attr("rel");
jQuery("#"+formId).ajaxSubmit();
}
因此,與類.formButton按鈕可以包括在服務器響應,並用的liveQuery它也被處理。 希望它有幫助。 對不起,我的英文。
的jQuery插件添加事件偵聽到您指定的形式(S)的onsubmit事件。因此,爲了在同一時間提交多份表格,你需要調用提交各種形式的活動功能。類似這樣的:
function doubleSubmit(e) {
if (e.target.id == 'form2') {
$('#form1').submit();
} else {
$('#form2').submit();
}
}
下一個技巧是在任一表單提交時調用此函數。我會做這樣的事情:
$("#form1").bind("submit", doubleSubmit);
$("#form2").bind("submit", doubleSubmit);
我還沒有測試過這段代碼,但它應該給你的一般想法。
我不相信這會工作。這會不會只是提交「他者」的形式,因爲一個回傳會發生,並取消了其他? – 2009-08-24 13:52:20
你不能一次提交多個表單。但是,你可以依次提交他們
function submitFn() {
$('form').each(function() {
$.post(url, data, function() {
...
}
return false;
});}
,並添加監聽器:
$('form').bind('submit', submitFn);
返回錯誤是很重要的表兄弟姐妹,如果你沒有它遂以第一種形式將提交兩次
標識大概去這樣的事情:
// after you import the html
$("#form1, #form2").bind("submit", submit);
// or simply
$("form").bind("submit", submit);
function submit() {
/// a $.post implementation selecting all the controls and passing them as data
return false; // to prevent an actual browser submit
}
請注意閱讀此答案的任何人... jQuery現在有一個將事件偵聽器綁定到動態DOM節點的$ .live()函數。不需要插件來做到這一點。 – 2010-03-23 01:34:20