使用jquery ui对话框确认表单提交的操作

我在页面上有多个表单,对于每个表单,我希望用户在表单提交之前进行确认。 但是当用户确认提交时,如何让该对话框知道用户正在进行汇总的forms? 它需要自定义参数吗? 谢谢。

$("#dialog-confirm").dialog({ resizable: false, height:140, modal: true, buttons: { 'Confirm submit': function() { document.______???????_____.submit(); }, Cancel: function() { $(this).dialog('close'); } } }); $('.allForms').submit(function(){ $('#dialog-confirm').dialog('open'); }); 

您可以将其存储在如下变量中:

 var currentForm; $("#dialog-confirm").dialog({ resizable: false, height:140, modal: true, buttons: { 'Confirm submit': function() { currentForm.submit(); }, Cancel: function() { $(this).dialog('close'); } } }); $('.allForms').submit(function(){ currentForm = this; $('#dialog-confirm').dialog('open'); return false; }); 

既然你刚刚使用它并立即离开页面,没有任何理由让它变得更复杂。

或者怎么样

 $(this.form).submit(); 

根据Nick Craver的回答,您可以这样写:

 $('.allForms').submit(function(){ currentForm = this; $('#dialog-confirm').dialog({ resizable: false, height:140, modal: true, buttons: { 'Confirm submit': function() { currentForm.submit(); }, Cancel: function() { $(this).dialog('close'); } } }); return false; });