9

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

$("#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');
});
4

3 回答 3

17

您可以将其存储在这样的变量中:

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;
});

由于您只是使用它并立即离开页面,因此没有真正的理由让它比这更复杂。

于 2010-03-10T21:35:45.993 回答
1

或者怎么样

$(this.form).submit();
于 2010-05-28T18:17:42.923 回答
1

根据 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;
});
于 2014-12-24T11:14:35.427 回答