【问题标题】:Why is setting a form builder "readonly" in not working?为什么将表单构建器设置为“只读”不起作用?
【发布时间】:2012-05-10 06:03:28
【问题描述】:

Rails Noob 在这里。

我的 _form.html.erb 中有以下代码:

 <%= f.time_select :slotTime,
  { :readonly => true, :ampm => true, :minute_step => 30} %>

当我在网络浏览器中查看该页面时,时间选择器下拉菜单未被禁用。我对其他 text_fields 使用了类似的代码,它可以工作。你知道为什么这可能不起作用吗?

我试过了:

:readonly => true

:readonly => "readonly"

正如其他问题所建议的那样。我错过了什么?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2


    【解决方案1】:

    您希望 :readonly 最终成为 HTML 属性,这使其成为 HTML 选项; HTML options go in the second Hash 所以我想你想要这个:

    <%= f.time_select :slotTime,
      { :ampm => true, :minute_step => 30},
      { :readonly => true }
    %>
    

    【讨论】:

    • 感谢您的回复。不幸的是,这也不起作用。根据文档,它应该......奇怪。我尝试重新启动服务器,不同的浏览器(目前在 Chrome 中测试)。我需要使用:disabled =&gt; true 吗?我认为这会阻止更新正常进行。
    • 刚刚检查过了。出于某种奇怪的原因,您需要两个选项来使控件变灰并且保持值不变。只是禁用表单元素会产生奇怪的更新。将其设置为只读似乎可以防止值更改,但会使控件保持活动状态。
    • @JeffreyGuenther: readonlydisabled 做不同的事情,选择与您正在寻找的行为相匹配的属性。
    猜你喜欢
    • 2014-01-15
    • 2013-03-30
    • 1970-01-01
    • 2016-09-25
    • 1970-01-01
    • 2015-09-12
    • 2020-09-01
    • 2012-10-19
    • 1970-01-01
    相关资源
    最近更新 更多