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

标签 javascript html

关于点击提交 示例如下:

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

如果我们点击提交按钮时,函数testFun可能在表单提交后运行

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

最佳答案

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

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

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

function myfunc() {
  // do some stuff
  return false;
}

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

<input type="submit" onclick="return myfunc()"/>

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

关于javascript - 表单提交时,点击功能和提交的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11097723/

相关文章:

javascript - Webpack-使用具有哈希值的自动版本的缓存清除

html - 表单元素的响应式设计

javascript - HTML 工作日历

javascript - 从不同的表单中选择一个标签

asp.net - asp.net Web 应用程序中的 HTML 内容授权

html - 如何使用 CSS 对齐标签,使其在所有浏览器中看起来都一样

javascript - 如何从传播运算符中删除属性?

javascript - 为什么这个神经网络不渲染(仅)完整的 3 层路径?

javascript - Alfresco 是否提供 html/js 组件来集成到 Web 应用程序中?

javascript - d3js 加载静态 svg 在 IE9 中不起作用(responseXML = null)