jquery:颜色框关闭 iFrame onsubmit

Posted

技术标签:

【中文标题】jquery:颜色框关闭 iFrame onsubmit【英文标题】:jquery: Colorbox close iFrame onsubmit 【发布时间】:2011-11-28 08:51:58 【问题描述】:

我有一个关于在提交后关闭带有颜色框的表单的问题。我找到了这个question ,所以我现在知道如何在提交后关闭表单。问题是另一个 javascript 验证我的表单的输入字段,并且当某些字段未填写时会出现错误消息(一个简单的警报())......我希望仅在验证返回 no 时关闭 clorbox iframe onsubmit错误..否则用户会得到提示他错过了一些输入字段但表单无论如何都会关闭......所以我如何用jQuery检查这个..是否有可能检查“alert()”是否是显示在屏幕上...然后可以说,当显示警报弹出窗口时,不要关闭颜色框窗口,否则关闭它,因为没有错误...有人明白我的意思吗?再说一遍:我无法更改验证脚本!然后我可以简单地在这个脚本中添加.colorbox.close();...

验证是一个在提交时执行的简单函数...有一个变量“msg”,其中包含此函数中的错误消息..必须有一种方法可以在函数执行时获取此“msg”变量并检查它是否为空......?

任何人都可以帮助我...这对我来说有点难以解释..

【问题讨论】:

【参考方案1】:

您可能可以通过以下方式从 iFramed 内容中获取“msg”元素的内容:

parent.msg-field-name

我在类似情况下所做的是:

为用户留出取消 iFrame 表单的方法。此退出路径使用 ColorBox 的“内置”关闭方法 在提交时,测试错误验证。如果通过,请使用 allow 内置的 close 方法成功,如果没有,则不要离开表单。

您可以通过plugin author's website 找到确切的操作方法:

阻止 ColorBox 关闭/改变 $.colorbox.close() 的行为

关闭方法 ($.colorbox.close()) 可以被缓存和重新定义,以便对关闭 ColorBox 时发生的情况提供一些控制。这会影响绑定到它的控件(例如 escKey、overlayClose 和关闭按钮)并直接调用 close 方法。

例如,假设我们打开 ColorBox 以显示一个包含表单的 html sn-p,并且我们想要警告访问者如果他们在提交数据之前尝试关闭 ColorBox,他们将丢弃他们的表单。

var originalClose = $.colorbox.close; 
$.colorbox.close = function() 
    var response; 
    if($('#cboxLoadedContent').find('form').length > 0) 
       response = confirm('Do you want to close this window?'); 
       if(!response) 
          return; // Do nothing. 
        
     
    originalClose(); 
; 
$('a#example').colorbox();

【讨论】:

以上是关于jquery:颜色框关闭 iFrame onsubmit的主要内容,如果未能解决你的问题,请参考以下文章

如何使用按钮关闭颜色框

JQuery colorbox iframe,隐藏底栏

JQuery 模态框和 iframe

在没有“保存按钮”颜色框的情况下保存 iframe 内容

Colorbox - 在颜色框内容中删除自定义 iframe 时防止父页面重新加载?

js如何关闭弹出的iframe