【问题标题】:Closing a Modal Box on ID Change在 ID 更改时关闭模态框
【发布时间】:2011-09-24 16:52:26
【问题描述】:

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

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

});

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

【问题讨论】:

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


    【解决方案1】:

    本, 我怀疑只是在你的 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(); 
    });
    

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

    希望这会有所帮助。

    【讨论】:

    • 非常感谢您的帮助。您能与我分享一个链接,以便我了解它在您的网站上的工作原理吗?
    • 正如我所说,我不使用那个插件。我使用直接类和css。但我知道模态片段在我的代码中是如何工作的。当然插件更强大。
    【解决方案2】:

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

    根据您提供的内容,您需要做的就是以下几点:

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

    抱歉,我之前没能回复这个问题,我正在度假;)

    【讨论】:

      猜你喜欢
      • 2015-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      • 2021-12-21
      • 2021-05-04
      相关资源
      最近更新 更多