javascript - Focus Rails3 上的只读文本输入

标签 javascript jquery ruby-on-rails-3

我关注了 railscast 213 (calendars) from Ryan Bates

他使用文本输入字段来弹出日期选择器,效果很好。我想对输入日期进行限制,因此给出了以下属性:

$(function() { 
    $("#question_deadline").datepicker({ duration: 'fast', maxDate: '+2m', minDate: 'now' });
});

现在,当我按文本​​字段时,会弹出日期选择器,但我仍然可以通过在文本字段中输入来更改日期...所以我想我将 _form.html.erb 文件中的只读选项设置为 true对于这个特定字段,这可以工作,但日期不会写入数据库。

然后我在 application.js 文件中做了这个:

 $(function() { 
            $("#question_deadline").datepicker({ duration: 'fast', maxDate: '+2m', minDate: 'now' });
    });

    $("#question_deadline").focus {
        function()
        $("#question_deadline").attr("readonly", true);
    }

    $("#question_deadline").blur {
        function()
        $("#question_deadline").removeAttr("readonly");
    }

但这会阻止日期选择器工作吗?

准备好了:

$(function() {
    $("#question_deadline").focus(function() {
        $("#question_deadline").attr("readonly", true);
    });
});

$(function() {
    $("#question_deadline").blur(function() {
        $("#question_deadline").removeAttr("readonly");
    });
});

问候, 泰斯

最佳答案

我想您可能会拦截“onChange”事件,并验证控件中的值。 强制客户始终使用日期选择器可能不一定会受到所有人的欢迎。 我个人通常更喜欢键入日期而不是选择日期。

如果您验证日期,而该值恰好无效,您可以强制用户返回并显示日期选择器。我谦虚地相信这将是一种更加用户友好的方法。

关于javascript - Focus Rails3 上的只读文本输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6953595/

相关文章:

javascript - 在 JavaScript 中反转整数

javascript - 为什么映射到 `parseInt` 无点样式不能按预期工作?

ruby-on-rails - 将模型划分到目录中是个坏主意吗?

linux - 生产中的 Sunspot Solr

javascript - 使用javascript查找两个日期之间的差异

javascript - Jquery Validate 以选中唯一且必需的选择框

javascript - 如何获得像 Stack Overflow 这样的自动完成功能

javascript - 显示具有特定 css-class 的元素

jQuery悬停回调函数问题

php - 不同应用平台之间共享 session