[英]FireFox DON'T cancel form submit from jQuery script
我有这种情况:
<form class="reqSnip" action="snipvw" method="post" target="_blank">
<input type="hidden" name="a_snip" value="0">
<input type="hidden" name="b_snip" value="1">
<input type="hidden" name="fullDoc" value="true">
<button type="submit" class="getFullSnippet"></button>
</form>
因此-具有3个隐藏字段+按钮提交的基本表单。 在jQuery的帮助下,我绑定了提交此表单并自定义流程的时刻:
jQuery('.reqSnip').submit(function() {
jQuery('#snipDIV').jqmShow(); // 1
return false; // 2
});
为了使图片清晰:
所有这些如何一起工作:
我在javascript调试器中做了一个简单的调查(我只在第// 1和// 2行放置了两个breakpoints(BP)),并且发现了以下事实:
那么-如何使FF行为与所有其他浏览器相同?
第1行中使用的PS库
更新
我找到了问题的根源。据jqModal文件(见上面的链接),如果你绑定到你必须显示(设置可见)的事件处理程序内昂秀事件的对话框(我的“弹出式”窗口)。 所以总体方案是
var myOpen=function(hash){ hash.w.css('opacity',0.88).show(); };
$('#dialog').jqm({onShow:myOpen});
....
$('#dialog').jqmShow();
我写的代码与此非常接近。 所有浏览器都接受这种方法。 FF“不喜欢”它。 不知道为什么。 因此,要解决我的问题,不要将其绑定到onShow事件。 那是!
尝试这个:
jQuery('.reqSnip').submit(function(e) {
jQuery('#snipDIV').jqmShow(); // 1
e.preventDefault(); // 2
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.