javascript - 防止按钮在回车键上提交

标签 javascript jquery jquery-plugins

我有两个按钮,一个是 id=enterToSubmit,另一个是 id=clickToSubmit。当用户按下回车键时,我希望“enterToSubmit”按钮提交表单 不是“点击提交”按钮。

在同一页面上,我有一个文本框 id=title,在页面加载时我隐藏了“enterToSubmit”按钮,直到用户在文本框中输入内容,然后用户可以按 Enter 键提交表单。

如何防止“clickToSubmit”按钮在用户按回车键时提交?

最佳答案

不幸的是,您无法更改 HTML 中的“默认”提交按钮,它始终是类型为 submit/的第一个 input/button 图片

虽然您可以尝试手动捕获 Enter keypress 事件,但这样做非常不可靠,因为 Enter 并不总是应该提交表单,具体取决于 (a) 元素的类型重点,(b)是否使用 shift/ctrl+enter,(c)表单中还有哪些其他元素以及(d)它是什么浏览器。如果你错过了一个案例,你将得到意外的默认提交;如果你遇到了一个你不应该遇到的情况,你会得到意外的 enter-submissions。

所以通常情况下,当您想要控制表单的默认提交操作时,在表单中放置一个额外的按钮作为第一个提交按钮会更好。如果您不希望显示此按钮,您可以将其放置在一个较大的负 left 值以将其推离页面的一侧。 (这有点难看,但通过 displayvisibility 隐藏它会在某些浏览器中停止工作。)

因此,也许您可​​以“隐藏”输入提交按钮,而不是让它消失,而是将它推离页面,使其不可见,然后捕获 click 事件在它上面返回 false 并停止表单提交。

关于javascript - 防止按钮在回车键上提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4075486/

相关文章:

jquery - 自定义响应式导航菜单 (Naver)

javascript - 使用 Web 套接字存储数据时 NodeJS 可能具有最佳性能

javascript - 页面刷新后 Count() 函数更新 php

JavaScript - append() 不是附加按钮,而是文本

jquery - 全局搜索列包含选择框的数据表

javascript - CSS/JS - 删除一个 li 元素的动画链接下划线

javascript - jquery.rotate 错误

Jquery插件问题。我如何返回一个值?

javascript - Bootstrap 3 轮播的问题

jquery - 为什么我无法在日期选择器文本框中输入内容?