【发布时间】:2011-09-26 13:39:06
【问题描述】:
我有一个 HTML 登录表单,其中包含以下元素(按此顺序):
-
input type=text(用户名输入) -
input type=password(密码) -
input type=submit(登录按钮)
为什么当焦点在text input 时,Android 浏览器在软键盘上显示“开始”按钮而不是“下一步”按钮?这会导致用户很容易登录失败,因为在输入用户名后,用户按下键盘右下角的按钮(通常是正确的操作),表单会以空密码提交,这显然是行不通的. [如果我的浏览器设置为记住密码并且密码管理器能够填写密码,这种行为将是有意义的。但是,这里不是这种情况,您可以在下面测试自己。]
我想让输入类型文本有“下一步”按钮,输入类型密码(提交前的最后一个输入)有“开始”按钮。
https://peda.net/:login 是一个有问题的表单示例(此表单包含用于检测输入的“Enter”键并阻止提交表单的代码,除非最后一个可见表单输入被聚焦)。
您知道此问题的真正解决方法吗?我知道如果我正在实现本机应用程序,我会使用android:imeOptions="actionNext"(请参阅How to change the Android softkey keyboard "Go" button to "Next")。但是,在这种情况下,它是 HTML 表单和 Android 默认浏览器。
至少通过以下配置可以看到问题:
- “浏览器”系统应用在 Android 2.3.4 (Cyanogenmod 7) 上运行
- “浏览器”系统应用在 Android 4.2.2 (Cyanogenmod 10.1) 上运行
- “浏览器”系统应用在 Android 4.3.1 (Cyanogenmod 10.2 M1) 上运行
- 在 Android 4.4.2 (Cyanogenmod 11.0 M3) 上运行的“浏览器”系统应用(AOSP 浏览器)
- 在 Android 5.5.1 (Cyanogenmod 12.1) 上运行的“浏览器”系统应用(AOSP 浏览器)[有一个箭头图标,而不是单词“Go”]
- 在 Android 6.0.1 (Cyanogenmod 13.0) 上运行的“浏览器”系统应用程序(AOSP 浏览器)[有一个箭头图标,而不是单词“Go”]
【问题讨论】:
-
你试过在输入上使用 tabindex 吗?
-
这个问题让我很感兴趣,所以我尝试了 tabindex,但没有用。
-
我想知道这是否是不当行为仍然是最先进的?
-
在 Android 4.3.1 上运行的 AOSP 浏览器仍然可以看到该问题 - 我已使用最新信息更新了该问题。
-
在 Android 4.4.2 上的 Chrome 35 中仍然会发生这种情况。这实际上是 Chrome/AOSP/Webkit 错误还是键盘?我们向谁报告错误?奇怪的是,这个令人沮丧的 UX 问题在 3 年多的时间里几乎没有被报道过,尤其是当 iOS 做得比这更长时间的时候。
标签: android html browser android-softkeyboard