javascript - Chrome 因这个 JS 而崩溃

标签 javascript jquery html

Chrome 使用此 JS 时崩溃。 有一种带有乘法输入的形式。 JS 代码必须在提交之前检查它们是否已填写。但提交成功后 Chrome 崩溃。

<script>
$(document).ready(function(){
    var form = $('form#add');
    form.submit(function(){
      var filledInputs = $('form#add input[value!=""]');
      $('form#add input[value=""]').css('border','solid 1px red');
      filledInputs.css('border','');
      if (filledInputs.length >= 9) {
          form.submit();
          return true;
      } else {
          return false;
      }
    });
});
</script>

最佳答案

>=9 填充输入时,你的函数是无限递归的。提交时,表单会执行验证,如果验证通过,您将再次调用提交,验证表单,依此类推。

如果您删除 form.submit(); 并仅返回 true,表单将正确提交。

关于javascript - Chrome 因这个 JS 而崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16736176/

相关文章:

javascript - 我的 body 点击事件有什么问题?

javascript - 在JS文件中除了数据描述之外还添加标题

jquery - 将逗号分隔的输入框值拆分为jquery中的数组,并循环遍历它

javascript - 通过鼠标按下(拖动)输入更改值在 Chrome 中不起作用

html - 如何使用 bootstrap 在我的表单右上角之外放置一个 div?

javascript - 通过 ID 从我的 js 中的 JSON 文件调用特定对象

JavaScript:将 UL 向下滑动到最后一个元素

php - 当我链接到其他页面时,如何隐藏某些<span>?

html - CSS:工具提示显示在列表滚动上与父级的距离

javascript - 如何通过 JavaScript Web 应用程序使用 mongodb