Ruby form_for.text_字段和javascript

Ruby form_for.text_字段和javascript,javascript,ruby,form-for,Javascript,Ruby,Form For,我使用此代码块生成具有两个字段的公式: <%= form_for @micropost do |f| %> <%= f.text_area :content, :onKeyUp => "countCharactersLeft(document.forms[0].elements[2],document.forms[0].elements[3],140)" %><br /> <input readonly type="text" name="

我使用此代码块生成具有两个字段的公式:

<%= form_for @micropost do |f| %>
  <%= f.text_area :content, :onKeyUp => "countCharactersLeft(document.forms[0].elements[2],document.forms[0].elements[3],140)" %><br />
  <input readonly type="text" name="charsLeft" size="3" maxlength="3" value="140">
<% end %>

“countCharactersLeft(document.forms[0]。元素[2],document.forms[0]。元素[3],140)”%>
我想计算第一个文本区域中的字符数。我使用JavaScript函数来实现这一点。

为了使函数正常工作,我将fieldToCount和显示结果的字段与document.forms[0].elements[2]一起传递。
但是我想要的是动态地获得它。有没有一种方法可以从f.text_区域获取id以传递到javascript调用的生成中?

要找到HTML元素的id,只需查看生成的源代码。在您的情况下,它可以是
#content
#micorpost\u content
。应该可以在
text\u区域
helper方法的参数选项散列中指定要使用的ID。大概是这样的:

<%= f.text_area :content, :id => "my_special_id", :onKeyUp => "countCharactersLeft($('#my_special_id',$('#charsLeft'),140)" %>
“my#u special_id”,:onKeyUp=>“countCharactersLeft($(“#my#special_id”,$(“#charsLeft”),140)”>