如何为网页上的指定输入字段关闭iPhone键盘

How to turn off iPhone keypad for a specified input field on web page

本文关键字:字段 输入 键盘 iPhone 网页      更新时间:2023-09-26

我使用一个月选择器输入(类似于jQuery UI日期选择器)作为信用卡到期字段。

我需要抑制iPhone键盘,因为它隐藏了月份选择器。

我曾尝试将字段设置为只读,但这不是一个可接受的解决方案-在Safari iOS 5.1中,键盘导航中会跳过只读字段(键盘上的上一个/下一个按钮)。模糊字段也是不可接受的,因为它会触发验证(我们也在使用jQuery验证)。

有没有办法在一个字段上关闭iPhone键盘,而不将其设置为只读或模糊?

我还没有遇到隐藏键盘的方法。但你们有没有想过另一种显示"输入"的方式。一种选择是使用<input type="month" />,它在iOS5中引入了本机月份选择器。

第二种选择是将span元素设置为输入元素(-webkit外观在iOS上不起作用),并为该元素添加tabindex。这也可以工作,尽管我不知道你使用的月份选择器。

第三个选项-当手动触发模糊字段时,难道不能阻止验证过程吗?

我在Drupal中遇到了同样的问题,输入字段将动态追加,所以我添加了一些js,检查Iphone/Ipad,并添加了"只读"属性

var checkUserAgent = navigator.userAgent;
    if (checkUserAgent.match(/iPad/i) || checkUserAgent.match(/iPhone/i)) {
        var checkBabyId1 = $('#babys_due_date_id').length > 0;
        if (checkBabyId1 == true) {
            $('#babys_due_date_id').find('input').prop('readonly', true);
        }
    }