表单提交时,点击功能和提交的顺序

SKi*_*ng7 5 html javascript

关于点击并提交以下示例:

<form action="url" method="post">
<input type="text" id="input1"/>
<input type="submit" value="submit" onclick="testFun()"/>
</form>
Run Code Online (Sandbox Code Playgroud)

当我们单击按钮提交时,是否有可能在表单提交后运行 testFun 函数

如果答案是否定的。为什么?单击提交按钮时浏览器如何工作?订单是点击功能->提交?是对的??

Man*_*eUK 6

不,您不能在提交表单后执行函数 - 执行的顺序如下:

  • 用户点击提交按钮
  • onclick函数被执行
  • 浏览器将页面提交给url表单中指定的action

您可以通过false从 onclick 处理程序返回来阻止浏览器提交页面:

function myfunc() {
  // do some stuff
  return false;
}
Run Code Online (Sandbox Code Playgroud)

然后应该像这样修改提交按钮:

<input type="submit" onclick="return myfunc()"/>
Run Code Online (Sandbox Code Playgroud)

如果您确实希望在提交表单后执行函数,则需要使用 AJAX 提交表单 - 这不会导致浏览器离开页面,并且可以在提交表单后执行 JavaScript 函数