Rails coffeescript获取用户输入值

时间:2014-01-23 14:44:13

标签: ruby-on-rails coffeescript

我正在尝试从rails表单获取用户输入,并将该输入分配给coffeescript中的对象。我的观点看起来像......

  <div class="from_date">
    From Date
    <input type="text" id="from_date" name="from_date"></input>
  </div>

......我的咖啡脚本是......

jQuery ->
  input = @value
  alert @value

我的警报框中出现“未定义”。我错过了什么?

1 个答案:

答案 0 :(得分:4)

你不能这样做因为你的观点是服务器端而咖啡脚本是客户端。除非JavaScript代码嵌入在服务器端脚本中,否则无法在JavaScript中访问Ruby变量。但是,应避免在服务器端视图中嵌入javascript并保持独立。

您可以使用cofeescript获取from_date输入字段的值,如下所示:

jQuery ->
  input = $('#from_date').val()

这会将from_date输入字段中的值指定给input变量。请注意,只要DOM准备就绪,就会发生此分配。

我不确定您的要求是否准备好在DOM上捕获from_date的值。通常,这些分配是在某些事件上完成的,比如按一下按钮。对于这种情况,你会这样做:

jQuery -> 
  $('#my_button').click (evt) ->
    input = $('#from_date').val()

* 由Lumbee编辑 我用的是......

jQuery ->
  $("#from_date").blur ->
    alert $('#from_date').val()