Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用jquery ui对话框确认表单提交操作_Jquery_Confirm - Fatal编程技术网

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

使用jquery ui对话框确认表单提交操作,jquery,confirm,Jquery,Confirm,我在一个页面上有多个表单,我希望用户在提交表单之前确认每个表单。但是当用户确认提交时,我如何让这个对话框知道用户正在使用哪个表单?它接受自定义参数吗?谢谢 $("#dialog-confirm").dialog({ resizable: false, height:140, modal: true, buttons: { 'Confirm submit': function() {

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

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

谢谢但现在在我点击“确认提交”之后,它只再次调用$('.allForms').submit(function())而没有实际提交。或者这是一个不同的问题?@redbluegreen-Woops,更新了答案…即
currentForm=this不应该被包装在
$()