【问题标题】:Is there a way to open the 'alphanumeric' keyboard with numbers by default?有没有办法默认打开带有数字的“字母数字”键盘?
【发布时间】:2014-09-01 22:41:23
【问题描述】:

我正在使用 Phonegap 和 HTML5 开发一个网络应用程序。

当专注于文本输入时,我被要求打开显示“数字”键的“字母数字”键盘。

这可能吗?

【问题讨论】:

    标签: javascript html cordova


    【解决方案1】:

    电话:<input type="tel" name="usrtel">

    这会打开一个字母数字键盘。这可以是您想要的任何号码,而不仅仅是电话号码 :-)

    “tel”类型是新的,来自html5。关于所有输入类型的概述可以在这里找到:W3Schools

    从星期一编辑。 2014 年 9 月 1 日下午 4:30: 由于 Jonas Grumann 给出的答案,我正在编辑我的答案。您应该仅将<input type="tel" 用于数字。就像描述的类型:例如电话号码。如果用户输入十进制数字,此输入类型将无法识别。

    如果您希望用户输入十进制数字,您必须使用此处给出的答案“模式”来执行此操作,您应该像这样使用它们:

    HTML

    <input type="text">
    

    和JS(请考虑:这些是您需要的命令jQuery/jQuery-mobile

    $('input[type="text"]').on('touchstart', function() {
      $(this).attr('type', 'number');
    });
    
    $('input[type="text"]').on('keydown blur', function() {
      $(this).attr('type', 'text');
    });
    

    为了完整起见,我将在此处引用给出此答案的用户 -> Force iOS numeric keyboard with custom currency pattern

    这个想法很简单。输入开始并以 type="text" 结束, 但它在 touchstart 事件中短暂变为 type="number" 。这个 导致出现正确的 iOS 键盘。一旦用户开始 输入任何输入或离开该字段,输入变为 type="text" 再次,从而绕过验证。

    这种方法有一个缺点。当用户返回输入时 已经填写的,输入会丢失(如果 不验证)。这意味着用户将无法返回并 编辑以前的字段。就我而言,这并不是那么糟糕,因为 用户可能希望以不同的方式一遍又一遍地使用计算器 值,因此自动删除输入将节省一些 脚步。但是,这可能并不适用于所有情况。

    Mobile Safari 似乎支持新的 HTML5 输入类型 电子邮件、号码、搜索、电话和 url 的属性。这些将切换 显示的键盘。查看类型属性。

    如果还有其他问题,请告诉我,我会再次编辑。

    【讨论】:

    • 这可能有效,但这不是我需要的。这会打开一个数字键盘,人们不能插入字符,可以吗?
    • 所以你想要数字和文字,它们的组合?组合您需要的图案,0-9 a-z 等。
    • 是的数字和文本(字母数字):大多数用户只会输入数字,但其中一些需要字符......这就是为什么我想知道我是否可以使用常见的文本输入键盘,但是默认情况下的数字(不使用'@123'键)。是不是更清楚了?
    猜你喜欢
    • 2011-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多