2011-09-30 46 views
0

提交后,我有关于使用colorbox关闭表单的问题。我发现这question所以我现在知道如何提交后关闭表单。问题是,另一个JavaScript验证我的表单的输入字段,并会有一个错误消息(一个简单的警报()),当一些字段没有填写...我wanne关闭clorbox iframe onsubmit只有当验证返回没有错误..其他用户会得到提示,他错过了一些输入字段,但形式将关闭......所以我怎么能检查这与jQuery ..有可能检查如果“alert()”是在屏幕上显示...然后可以说,当alertpopup显示不关闭colorbox窗口,否则关闭它,因为没有错误......有人明白我的意思吗?再说一遍:我无法更改验证脚本!然后,我可以简单地在这个脚本中添加.colorbox.close(); ...jquery:Colorbox关闭iFrame onsubmit

验证是一个简单的函数,它是执行onsubmit ...有一个变量“味精”,其中包含该函数内的错误信息..必须有一个当函数执行时获取这个“msg”变量的方法,并检查它是否为空....?

谁能帮我这... it'sa有点难为我解释..

回答

0

你也许可以参照这种方式获得来自iFrame内容的“味精”元素的内容:

parent.msg场名

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

  • 让用户取消iFrame表单。此退出路径在提交时使用ColorBox的“内置”关闭方法
  • ,进行错误验证测试。如果通过,则使用允许内置关闭方法成功,否则不要离开表单。

你可以找出究竟是如何做到形成plugin author's website:从收盘

防止彩盒/改变$ .colorbox.close()

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

例如,假设我们打开ColorBox以显示包含表单的html代码段,并且我们想要警告访问者,如果他们在提交数据之前尝试关闭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();