在我们的网站上关注文本框时强制在iPad上使用numpad

时间:2012-07-09 05:10:21

标签: html css ios ipad html5

您好我们有一个HTML5网站,可通过iPad访问(类似于自助服务终端应用程序)。网站提示用户输入其PIN码。我想要的是当用户专注于PIN文本框时强制iPad显示小键盘。它将被非常老的人使用,默认情况下切换到iPad keyborad中的numpad你必须单击“123”按钮。老年人不会知道这一点。

我可以使用

之类的东西
<input type="number" />

2 个答案:

答案 0 :(得分:2)

您可以在number中设置文本字段的类型,它将显示标准的1-9拨号键盘式键盘。

示例:

<input type="number" />

来源: http://developer.apple.com/library/safari/#documentation/appleapplications/reference/SafariHTMLRef/Articles/InputTypes.html

答案 1 :(得分:1)

您可以使用HTML5的新文本框类型(数字)。当浏览器不是您需要它时,它默认为常规文本框。要使用它,请将输入类型设置为数字。例如:

<input type="number" />

另一种解决方案是使用Javascript。您可以使用jQuery UI的号码选择器,jStepper等插件,或者只需添加以下代码来限制普通文本框。

$(document).ready(function() {
    $(".text_field").keydown(function(event) {
        if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 || 
         // Allow: Ctrl+A
        (event.keyCode == 65 && event.ctrlKey === true) || 
         // Allow: home, end, left, right
        (event.keyCode >= 35 && event.keyCode <= 39)) {
             // let it happen, don't do anything
             return;
    }
    else {
        // Ensure that it is a number and stop the keypress
        if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
            event.preventDefault(); 
        }   
    }
});

});

来源:How to allow only numeric (0-9) in HTML inputbox using jQuery?