标签: numeric-keypad

数字键盘的keyCode值?

数字键盘上的数字是否与键盘顶部的数字不同?

这是一些应该在keyup事件上运行的JavaScript,但只有当keycode介于48和57之间时.这是代码:

$('#rollNum').keyup(function(e) {
    if(e.keyCode >= 48 && e.keyCode <= 57) { //0-9 only
        var max = 15;
        var textLen = $(this).val().length;
        var textLeft = max - textLen;
        . . . 
Run Code Online (Sandbox Code Playgroud)

我的问题是,此代码仅响应键盘顶部输入的数字而运行,但不响应从数字键盘输入的数字而运行.

我想答案必须是数字键盘有不同的keyCode值,但我怎么知道它们是什么?

javascript jquery web-applications numeric-keypad

66
推荐指数
4
解决办法
12万
查看次数

如何在"手机"软键盘上使用InputType = numberDecimal?

对于一个EditText盒子,用户应该只输入有效数字,所以我正在使用android:inputType="numberDecimal".不幸的是,Android提出的软键盘只有顶行的数字,而接下来的三行有各种其他符号(美元符号,百分号,感叹号,空格等).由于numberDecimal只接受数字0-9,负号和小数点,因此使用"手机"软键盘(3x3网格中的0-9,加上其他一些符号)会更有意义.这将使按钮更大并且更容易被击中(因为它是4x4网格而不是同一屏幕区域中的10x4网格).不幸的是,使用android:inputType="phone"允许非数字字符,如括号

我试图使用android:inputType="numberDecimal|phone",但numberDecimal位标志的方面似乎被忽略了.我也试过android:inputType="phone"结合使用android:digits="0123456789-.",但仍然允许多个负号或小数点(inputType="number"对于这样的事情有非常好的错误检查,并且不会让用户输入它).我也尝试android:inputType="phone"在xml布局文件中使用,同时DigitsKeyListener在java代码中使用a ,但是那只是使用默认数字软键盘(只有顶行有数字的键盘)(它似乎设置InputType.TYPE_CLASS_NUMBER,这使得InputType.TYPE_CLASS_PHONE集合无效通过xml布局).

编写自定义IME不起作用,因为用户必须选择IME作为应用程序外的全局选项.

有没有办法使用"手机"式软键盘同时使用"数字"限制输入什么?

android numeric-keypad

20
推荐指数
2
解决办法
3万
查看次数

如何在android中以编程方式打开数字拨号盘?

我想在Android上点击按钮,以编程方式显示数字拨号键盘(电话).代码可用于直接拨号,但我只需要在单击按钮时显示拨号键盘.

android phone-call buttonclick numeric-keypad

16
推荐指数
2
解决办法
2万
查看次数

android有数字键盘吗?

android中是否有一种方法可以调用仅数字键盘,即只包含数字0到9和"."的虚拟键盘.标志?

android numeric-keypad

13
推荐指数
3
解决办法
2万
查看次数

当我只是触摸UITextField以外的任何地方时,如何解除键盘?

你好我的应用程序中有两个UITextFields,当我只是触摸UITextFields以外的任何地方时想要解除键盘我该怎么办?

iphone keyboard uitextfield numeric-keypad

13
推荐指数
2
解决办法
9093
查看次数

iPad中的数字键盘?

是否可以在iPad中显示仅包含0-9数字的键盘?我不希望键盘显示任何其他内容.我知道我们可以在.xib文件中使用这个KeyboardType:Number Pad,但它会显示包括数字在内的所有其他额外字符.我想使用这个概念来显示我正在处理的iPad应用程序的PIN登录键盘.谢谢

numeric-keypad ipad

9
推荐指数
1
解决办法
2万
查看次数

适用于移动设备的HTML <input type ="number">的最佳设置

我一直在阅读许多其他问题,例如[1] [2] [3],但问题仍然存在.

我需要找到"最干净"的方式来input获得移动设备的HTML 并尊重所有这三个规则:

  1. 主要适用于数字,整数或浮点数
  2. 显示移动设备的数字小键盘,适用于Android版Chrome和适用于iOS的Safari,没有奇怪的额外按键

    在此输入图像描述

  3. 完全尊重HTML5规则(由W3验证器测试)




我试过了什么?

我一直在讨论这些解决方案,这两个主题都没有累积地尊重上述三条规则.

解决方案1

<input type="text" pattern="\d*" />
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

此解决方案尽管在iOS中工作并且完成了由w3验证器测试的HTML规则,但在Chrome Android中提供了带有QWERTY键盘的完整键盘.


解决方案2

<input type="number" pattern="\d*" />
Run Code Online (Sandbox Code Playgroud)

此解决方案适用于iOS和Android Chrome系统,显示两个系统上的数字键盘,但它会抛出HTML验证错误

仅当输入类型为电子邮件,密码,搜索,电话,文本或URL时,才允许使用属性模式.


解决方案3

<input type="number" />
Run Code Online (Sandbox Code Playgroud)

此解决方案通过HTML测试,在Chrome上显示不错,但在iOS键盘上显示了几个不需要的密钥

在此输入图像描述


解决方案4

我看到许多开发人员使用此解决方案

<input type="tel" />
Run Code Online (Sandbox Code Playgroud)

但是经过Android Chrome测试,它不允许使用点符号(.),并且键有字母,这是多余的.

chrome输入类型=

html-input mobile-safari numeric-keypad android-keypad iphone-keypad

8
推荐指数
2
解决办法
4889
查看次数

输入类型='数字'新验证删除Safari for iPhone iOS5和最新的Safari for Mac中的前导零和格式编号

最新的MacOS Safari和iOS5中的Safari会有一些额外的验证,如果文本字段不是电话号码,则会导致问题.

案例:输入type ="numeric"属性的文本字段.

问题:1)号码被格式化为电话号码.例如,如果我键入'012345678',它将被格式化为'012 345 678'

2)正在删除前导零.例如'01234567'被格式化为'1234567'

我可以在我的文本字段中删除type ="numeric"属性,可能问题会消失,但我真的想在这个文本字段中使用数字小键盘而不是iPhone上的普通键盘.

任何想法如何解决这一问题?

非常感谢

safari validation textfield numeric-keypad ios5

7
推荐指数
1
解决办法
6695
查看次数

是否有可接受的跨平台方法在基于触摸的设备上以标准Web表单显示数字小键盘?

目标:找到一个跨平台解决方案,用于在移动触摸设备上显示数字键盘,并且只需最少的黑客攻击.

问题:

我有一个使用数据输入表单的常规Web应用程序,主要包含数字数据.当用户在移动设备上与我的网站进行交互时,我想显示数字虚拟键盘,因为大多数标准键盘需要第二次按下才能从alpha切换到数字.我知道我可以通过设置input元素的"type"属性来触发不同的键盘:

type=number:这在iOS/Safari下运行良好.我不确定该平台上的其他浏览器.

在Android上,这并不能在各种浏览器上持续提升正确的键盘,并且通常会在输入上产生不需要的电梯按钮.我还没有找到一种干净的方法来在CSS中关闭它们.

type=tel:这几乎适用于iOS/Safari,但电话键盘没有小数点按钮.

似乎在多个Android浏览器中运行良好,没有任何无关的UI元素添加到页面.

我目前的解决方案是hacky和简单.基于我已经用于数字验证的类,我将每个应该包含数字的文本元素替换为基于检测到的OS /浏览器的新输入numbertel类型.

var isAndroid = navigator.userAgent.match(/android/i) ? true : false;
var isIOS = navigator.userAgent.match(/(ipod|ipad|iphone)/i) ? true : false;

if (isAndroid || isIOS) {
    var useNumberType = (isIOS ? true : false); //iOS uses type=number, everyone else uses type=tel
    jQuery("input.num").each(function () {
        var type = (useNumberType ? "number" : "tel");
        var html = this.outerHTML;
        html = html.replace(/(type=\"?)text(\"?)/, "$1" + type + "$2");
        this.outerHTML = html;
    }); …
Run Code Online (Sandbox Code Playgroud)

javascript android mobile-website numeric-keypad ios

7
推荐指数
1
解决办法
2315
查看次数

Android webView:使用input type = text时,默认情况下可以先设置数字键盘

我们有一个使用webview呈现一些HTML页面的应用程序.这个HTML页面有输入类型,我们使用input-type = number,因为我们只接受此字段中带小数的数字.所以数字android键盘出现小数点.

问题是三星设备更新到Android 4.3.现在数字键盘上缺少小数点.

因此我们需要使用通用键盘来获得小数点.问题是公共键盘出现了字母,我们默认希望键盘出现在键盘的数字部分,以使用户更友好.像这样.

在此输入图像描述

我们怎样才能做到这一点?

编辑:也许我没有解释清楚.问题是在一个不在android TextView中的HTML页面所以所有的android:type答案都没用.

validation android webview numeric-keypad android-keypad

7
推荐指数
1
解决办法
3932
查看次数