为什么在函数返回false时仍然可以提交表单?

时间:2018-03-21 16:40:31

标签: javascript html jsp

为什么即使函数返回false,你仍然可以提交表单?



function submit() {
  return false;
}

<form action="#" onsubmit="return submit()">
  account : <input name="name" type="text" id="name"> <br>
  <input type="submit" value="login">
</form>
&#13;
&#13;
&#13;

3 个答案:

答案 0 :(得分:1)

我认为您的函数名称与本机提交操作冲突 我在下面将其重命名。

&#13;
&#13;
function submitter() {
  return false;
}
&#13;
<form action="#" onsubmit="return submitter()">
  account : <input name="name" type="text" id="name"> <br>
  <input type="submit" value="login">
</form>
&#13;
&#13;
&#13;

另见Reserved words in JavaScript

答案 1 :(得分:0)

preventDefault()可以很好地防止像clics或提交的默认操作..

<div></div>

答案 2 :(得分:0)

我认为您应该在表单上使用唯一标识符,并使用它在您的javascript中添加事件监听器,如下所示。

还可以使用event.preventDefault()来停止默认表单提交操作,该操作与下面的代码一样。希望这能解决您的问题: - )

&#13;
&#13;
document.querySelector("#my-form").addEventListener("submit", function(e){
  e.preventDefault();    //stop form from submitting
});
&#13;
<form action="#" id="my-form" method="post">
  account : <input name="name" type="text" id="name"> <br>
  <input type="submit" value="login">
</form>
&#13;
&#13;
&#13;