12

我想从我的 Ipad 禁用键盘弹出,所以我做了这样的事情,但这不是我的愿望。

我有一个文本框:

<h:inputText id="txtDate" value="#{myDateController.selected.DOB}"

我尝试使用“只读”属性,但数据无法保存到数据库。我也用这个: $("#frmEdit\:txtDate").attr("disabled", true) --> 但是不行

我在网上搜索并使用此链接应用了我的代码,但这也不行:ipad web application: How do I prevent the keyboard from pop up on jquery datepicker

$(function() {
  //$("#frmEdit\\:txtDate").attr("disabled", true)
    $("#frmEdit\\:txtDate").datetimepicker({
     // showOn: "button"
        showOn: "both",   
        buttonImage: "../images/calendar.png",
        buttonImageOnly: true,
        constrainInput: true,
        showButtonPanel: true,         
        dateFormat: 'dd-M-yy',
        addSliderAccess: true,
        sliderAccessArgs: { touchonly: false },
    onClose: function(dateText, inst){ 
        $(this).attr("disabled", false);
    },
    beforeShow: function(input, inst){
        $(this).attr("disabled", false);
    }
});
});

我的代码有什么问题?或任何其他解决方案?非常感谢

4

4 回答 4

12

HTML 中有一个选项可以让你做这种事情:

readonly="true"

将此添加到您的输入字段元素。它将有点“禁用”输入字段,但在完成某些操作时仍会触发事件(例如单击它)。


查看W3Schools 只读属性了解更多信息。

于 2012-05-18T10:48:31.217 回答
3

这就是我设法通过让浏览器认为用户模糊了输入来解决这个问题的方法,因此它在有时间显示之前隐藏了键盘:

$('blabla')
    .datepicker(
    {
        /* options */
    })
    .on('focus',function()
    {
        $(this).trigger('blur');
    });

在我发现的许多其他解决方案没有的情况下,对我来说效果很好!

于 2014-02-05T20:33:24.700 回答
0

您是否尝试过使用 HTML 禁用输入字段(所以添加disabled="disabled")?

于 2012-05-21T08:22:08.483 回答
0

正确的答案往往是最简单的。

readonly="true"

是解决方案

于 2014-01-29T15:58:08.793 回答