<form> 标签中设置属性 onsubmit="return false"

onsubmit="return false" 一般用在哪里?
如果使用 ajax 来提交表单是不是一定要设置 onsubmit="return false" 来使表单的 submit 失效,这样才能让 ajax 来提交表单?
不知道这样理解有没有毛病?大佬解释下哈。。。

阅读 4.4k
2 个回答

不是,加上 onsubmit="return false" 这个只是相当于阻止提交表单的默认事件(即停止内置默认的ajax)而已,这样我们就可以利用第三方或者自定义的ajax工具自由交互了

先上代码

<form onsubmit="methodXXX()">
  <input type="text" />
  <button type="submit">提交</button>
</form>
  1. onsubmit 与 form 内 type=submit 的按钮配合使用才有意义,点击按钮即触发
  2. 配合使用的还有 form 的 actionmethod 属性,前者为提交路径(URL),后者为提交方法(如 GET POST 等)
  3. 直接 return false 表示禁止提交
  4. 遗留产物了,现在没多少人真正使用

有个小优点,如果焦点在 form 内元素上,回车也可触发。因此若有此需求,可以省得自己写事件监听了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题