为什么 Android webview 显示“下一步”仅当 type="number" 时才在键盘中而不是 type="text" ?

发布于 2024-12-09 11:53:45 字数 455 浏览 0 评论 0 原文

我有一个带有几个输入字段的表单。因此,我想使用下一个按钮在字段之间导航,但这仅在输入字段类型为“数字”时有效。使用 type="text" 则不会!

这是 Android 3.2.1 中的错误吗?

我的输入字段是这样的:

<input type="text" name="..." .... /> --> keyboard "Go"
<input type="text" name="..." .... /> --> keyboard "Go"
<input type="number" name="..." .... /> --> here it shows the "Next" button on the keyboard
<input type="text" name="..." .... /> --> keyboard "Go"

I have a form with a few input fields. So I want to navigate between the fields with the next button but that just works when the input field type is "number". With type="text" it doesn't!

Is this a bug in Android 3.2.1?

My input fields are like that:

<input type="text" name="..." .... /> --> keyboard "Go"
<input type="text" name="..." .... /> --> keyboard "Go"
<input type="number" name="..." .... /> --> here it shows the "Next" button on the keyboard
<input type="text" name="..." .... /> --> keyboard "Go"

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

拧巴小姐 2024-12-16 11:53:45

DennisA 适用于 Android 4.0 及更低版本。

简而言之,这不是一个错误,但遗憾的是谷歌是如何实现它的(我更喜欢所有这些键的一致的 GO,这样你就可以防止 JavaScript 中的默认操作)。

使用 Android 4.1 (JellyBean),您可以通过扩展 WebViewInputConnection 来更改默认行为:
https://github.com/android /platform_frameworks_base/blob/master/core/java/android/webkit/WebViewClassic.java#L379

(涉及黑客行为)

DennisA is right for Android 4.0 and below.

In short this is not a bug but sadly how google implemented it (I would prefer a consistent GO for all those keys so you can prevent the default action in JavaScript).

With Android 4.1 (JellyBean), you can change the default behavior by extending WebViewInputConnection:
https://github.com/android/platform_frameworks_base/blob/master/core/java/android/webkit/WebViewClassic.java#L379

(hackery involved)

醉殇 2024-12-16 11:53:45

我想你需要指定你的输入不是多行输入,否则,下一个将被下一个替换

I suppose you need to specify that your input is not a multiline input, otherwise, the next is replaced by next

无法言说的痛 2024-12-16 11:53:45

当 webkit 渲染这些输入字段时,它将它们转换为一个名为 android.webkit.WebTextView 的类,该类决定软键盘的外观,并且似乎没有任何好的方法来覆盖 WebTextView 类设置的 ImeOptions

When webkit renders those input fields, it converts them into a class called android.webkit.WebTextView which determines how the softkeyboard would look like and there doesn't seem to be any good way to override the ImeOptions set by the WebTextView class

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文