我有一个脚本可以在Chrome中正常运行,但是在边缘甚至其他浏览器上都无法正常工作
$("#contactform").submit(function(e) {
var checker = $('.hobby :checkbox:checked').length;
if (checker <= 0) {
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
alert("Please choose hobby");
} else {
var xSeconds = 1000; // 1 second
setTimeout(function() {
$('#formholder').fadeOut('fast');
}, xSeconds);
setTimeout(function() {
$('#resultcontent').fadeIn('fast');
}, xSeconds);
}
});
答案 0 :(得分:0)
选择器或淡入淡出效果不起作用吗?
如果选择器不起作用:
如果您的复选框编码为<input class="hobby" ...>
,则您的'.hobby :checkbox:checked'
选择器将不起作用,因为它正在寻找input
的子代。
删除空格,然后使用'.hobby:checkbox:checked'
我建议避免使用jQuery的非标准:checkbox
选择器,而不要使用'input.hobby:checked'
。
如果淡入淡出效果不起作用:
假设您希望结果内容显示在iframe中,那么您需要:
<form target="resultframe" ... </form>
<iframe name="resultframe" id="resultcontent"></iframe>
其中form target
与iframe name
匹配。
如果没有iframe,也没有目标,则表单提交将替换当前页面。除非服务器花费1000毫秒以上的时间来处理请求,否则将在fadeOut有机会启动之前替换当前页面的内容。