在ID更改时关闭模态框

时间:2011-06-28 21:47:59

标签: jquery forms modal-dialog form-submit simplemodal

我正在使用Eric Martin(http://www.ericmmartin.com/projects/simplemodal-demos/)的SimpleModal,网址为www.1tryten.com/checkout.php。加载代码简单:

jQuery(function ($) {
$('#CheckoutStepAccountDetails').modal();

});

这会加载一个带有2个提交选项的表单,一旦表单提交了类,就会将.ExpressCheckoutBlockCompleted添加到div#CheckoutStepAccountDetails中。这时我需要模态消失。我已经尝试将simplemodal-close类添加到提交按钮,但是它只是关闭模式而不提交表单。有谁知道我怎么能做这个工作?

2 个答案:

答案 0 :(得分:0)

本, 我怀疑只是在你的div中添加一个类会让你消失模态。

我不使用该插件,但我使用自己的自定义代码进行简单的模式。

这就是我控制何时以及如何控制要关闭的模态的方法:

//modal has a close button with id=modalclose. when it is clicked, I hide the modal mask
//this will close modal only if close button is clicked
$("#dialog #modalclose").click(function (e) { 
  $('#mask, .window').hide(); 
});

//if I want to close the modal by outside click on the mask
$("#mask").click(function (e) { 
  $('#mask, .window').hide(); 
});

因此,对于您的情况,您需要在提交表单后添加此类型的调用 如果在提交表单时有可用的回调函数,则可以添加代码以隐藏该回调函数中的模态。

希望这有帮助。

答案 1 :(得分:0)

为了澄清,与Projapati所说的相反,向模态内的元素添加一类simplemodal-close实际上会导致对话框在单击时关闭。

根据您提供的内容,您需要做的就是:

//if I want to close the modal by outside click on the mask
$("#mask").click(function (e) { 
  $.modal.close(); 
});

抱歉,我以前无法回复此事,我正在度假;)