脚本可以在Chrome浏览器中使用,但不能在Edge或其他浏览器中使用

时间:2019-02-15 09:09:35

标签: javascript jquery google-chrome cross-browser microsoft-edge

我有一个脚本可以在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);

  }
});

1 个答案:

答案 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 targetiframe name匹配。

如果没有iframe,也没有目标,则表单提交将替换当前页面。除非服务器花费1000毫秒以上的时间来处理请求,否则将在fadeOut有机会启动之前替换当前页面的内容。