在文本框中回车时页面自动提交的问题
🏷️ HTML
之前遇到过 【ASP.NET】在弹出的 iframe 页面的文本框中按回车会刷新 iframe 页面~ 的问题,后来发现是因为 画面上只有一个文本框 导致的。
今天遇到的有些不同,画面上有多个文本框,但是仍然自动提交了。
在这篇博客:HTML 防止 input 回车提交表单 中列举了更多的可以导致上述现象(自动提交页面)的情况。
默认情况下,单个输入框,无论按钮的
type="submit"
还是type="button"
类型,回车即提交。这个类似于我之前遇到的情况,不过要补充一下,即使页面上没有按钮也会回车自动提交。
当
type="submit"
时,无论有几个type="text"
输入框,回车均表示提交。(<button>
按钮默认的 type 为 submit)这次遇到的就是由于这种情况导致的。页面有一个 button 但是没有设置 type 属性,也就是默认作为 submit 按钮,导致了这次的问题。
对策倒是很简单,将 type 显式指定为 button 就可以了。当
type="button"
时,且存在多个输入框,回车不提交。(button)