我正在为网络应用程序开发 HTML 表单。我添加了 enterkeyhint
属性来指示并导航到下一个输入,直到最后一个输入提交表单。
问题是,如果类型为 type=text
,enterkeyhint
不会导航到下一个输入。
这种情况发生在 Android 7 的 Chrome/83.0.4103.101
上。在 Safari 中,会出现提示按钮,但它们都不执行任何操作。
示例:
<form (submit)="submitForm()">
<div>
<label>Name</label>
<input type="text" enterkeyhint="next" inputmode="text" />
</div>
<div>
<label>Email</label>
<input type="email" inputmode="email" enterkeyhint="next" />
</div>
<div>
<label>Comments</label>
<input type="text" />
</div>
</form>
- 专注于
名称
输入,下一步
按钮不会执行任何操作。 - 重点关注
电子邮件
输入,导航到任何下一个输入(评论
)
现在,如果我将 type=email
更改为 type=text
,它不会导航到下一个输入。
type=tel
也会发生类似的行为。它确实导航到表单的下一个输入。
我是否缺少一些东西来完成这项工作?
谢谢
最佳答案
enterkeyhint
只是向浏览器提示虚拟键盘上显示的内容,但您需要自己实现实际行为。例如,参见Focus Next Element In Tab Index ,或How to focus next input field on keypress如果您的 DOM 足够简单,输入字段与默认 Tab 键顺序是同级的。
来自spec :
The
enterkeyhint
content attribute is an enumerated attribute that specifies what action label (or icon) to present for the enter key on virtual keyboards. This allows authors to customize the presentation of the enter key in order to make it more helpful for users.
规范中没有任何内容表明 enterkeyhint
实际上会影响 Enter 键的行为。
关于如果类型为文本,带有 Enterkeyhint 的 HTML 移动网络输入不会关注下一个输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62490389/