首页 > 解决方案 > e.preventDefault() 不适用于表单提交

问题描述

提交我的 HTML 表单时,即使e.preventDefault()我的提交功能中有命令,网页也会重新加载。

$("#room-code-form").addEventListener("submit", function(e) {
  e.preventDefault();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="room-code-form">
  <input type="text" />
  <input type="submit" />
</form>

标签: javascriptjqueryhtml

解决方案


尝试使用提交功能。您需要在 Document Ready 函数中绑定它

$(document).ready(function() {
  $("#room-code-form").submit(function(e) {
    e.preventDefault();
  });
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<form id="room-code-form">
  <input type="text" />
  <input type="submit" />
</form>

或者

$("#room-code-form").submit(function(e) {
   return false;
});

推荐阅读