Rails输入返回false

时间:2017-10-22 13:41:23

标签: javascript jquery ruby-on-rails

我有一个带type="date"的输入字段供用户输入日期,但是,我需要将其值放入rails中的隐藏输入字段。

这就是我正在尝试的代码...... (在选中的复选框上删除disabled属性,这不是问题)

<input disabled id="scheduled-date" class="form-control" type="date" value="<%= f.object.published_on %>"></input>

<%= f.input :published_on, as: :hidden, input_html: { value: f.object.published_on } %>

因此输入1具有值,例如,'28 / 10/2017',但是,rails输入字段显示为false。

我不确定我哪里出错了,为什么价值观不同。

1 个答案:

答案 0 :(得分:0)

即使你编写的代码可能是正确的,当用户点击<input id='scheduled-date'>并更改/输入日期时,仍然需要使用javascript更新该字段的值。这不是最好的代码,而是你需要的一个例子。

每当用户焦点来自带有id='scheduledate'的输入字段时,您需要获取新值并使用id='published_on'

更改其他rails输入字段中的值
$('#schedule-date').focusout(function(){
     var value = $('#schedule-date').value();
     $('#published_on').value(value);
})

您的解决方案中可能还有其他错误,但基本的想法是,您设计它的方式,当服务器结束获取http请求时,它将仅更改输入字段,因此当第一次页面是加载,设置{ value: f.object.published_on },而每次用户将焦点从输入字段外部时,我的jquery就会工作。

如果您的代码正常工作,它只在第一个http get请求结束时(页面加载结束),您可以通过提供

来测试
<input disabled id="scheduled-date" class="form-control" type="date" value="<%= f.object.published_on %>"></input>

一个值,以便在加载页面时还有另一个输入字段

<%= f.input :published_on, as: :hidden, input_html: { value: f.object.published_on } %>

获得该值