输入数字字段时移动浏览器上“输入/下一步”键的行为

问题描述 投票:0回答:2

我这里有一行代码(不涉及表格):

<input type="number" min="0" max="9999999" id="inSku" name="inSku">

之前,我使用的是

type="text"
,但在默认情况下提供完整键盘的移动浏览器上,相关框仅接受数字输入。从逻辑上讲,当移动浏览器聚焦于
type="number"
字段时,它们将更改为纯数字键盘 - 然而,我目前依靠一点
jQuery
来处理表单内容的提交。这是代码:

$("#inSku").keyup(function (event) {
    if (event.keyCode == 13) {
        ringItem();
    }
});

这里的问题是,在普通的 Android 手机键盘上(我假设还有很多其他移动浏览器) - 使用“数字”键盘时,常规字母数字 Android 键盘上的 Enter 键已更改为“下一步”按钮。在我的例子中,这个按钮接受文本输入并将其粘贴在地址字段中,这并不理想。有什么方法可以利用键盘上的下一个按钮并让它执行我的其他 javascript 函数吗?

javascript jquery html forms mobile
2个回答
2
投票

尝试

 $('#inSku').keyup(function (e) {
   alert('Key pressed: ' + e.keyCode);
 });

这里的想法是按

next
按钮并找到该密钥代码。完成后,您可以将其添加到您的逻辑中,例如
if (event.keyCode === 13 || event.keyCode === ...)
。您可以根据需要添加任意数量的限定符以支持多个键盘和设备。


0
投票

这实际上是 android/chrome 检测页面上的第二个输入并假设您想继续填写表单。多么有帮助。

通过使用设置为“完成”或“搜索”或“输入”的 enterkeyhint 属性来禁用此功能。

© www.soinside.com 2019 - 2024. All rights reserved.