用JS(prototype&Rails 3)更改hidden_​​field_tag的值

问题描述:

我骑Rails 3并使用Prototype。这说我只是真的问一个JS的问题..我有一个表格,这很简单。在表单中,我有一个隐藏的字段标记:用JS(prototype&Rails 3)更改hidden_​​field_tag的值

<%= hidden_field_tag(:instructor_id, @instructor.id) %> 

当我向特定教师提交表单时,这一切都很好。

但是,我有另一个页面,显示了很多教师。而不是像上面的代码那样把教师ID放在那里,我想根据按下哪个提交按钮来改变隐藏字段的值。

即,一种形式,几个提交按钮。表单将提交并且一切正常,用户将能够继续并击中另一个提交按钮,将他们的数据发送给另一位教练。为了实现这一点,我想使用JavaScript来改变我点击隐藏字段的值。

<%form_for :call_back_request, :remote => true, :url => {:action => "call_back_request"} do |c| %> 
    <%= hidden_field_tag(:instructor_id, @instructor.id) %> 
    <%= hidden_field_tag(:pr_ok, true) %> 
    <%= c.text_field :first_name, :class => "profilesmstext" %> 
    <%= c.text_field :last_name, :class => "profilesmstext"%><br /> 
    <%= c.text_field :postcode, :class => "profilesmstexta"%> 
    <%= c.text_field :telephone_number, :class => "profilesmstext" %> 
    <%= c.submit, :value="Go!" %> 

这是形式的简单的一个教练的版本,基本上就是我说的做的是把在那里提交按钮和教练ID的循环。

因此,我将有一个循环(伪代码..)

@instructors each do |i| 
     <%=c.submit, :value => "go!", :onclick => "javascript to change hidden field value"%> 
    <script/js> 
    <function doChicagoShuffleOnId etc > 
    </script> 
    <%end%> 

所以我的问题是 - 什么是更改隐藏字段标签的JS? 附加问题 - 这对我来说非常合理,可能是垃圾,如果有更明智的解决方案,请让我知道!

谢谢!

document.getElementById('theId').value = "what ever you want"; 

就像与其他所有input

+0

嗨感谢这个,我现在给它一个镜头。一直在尝试类似的事情,但我现在假设我犯了一个错误,因为该值没有出现在隐藏字段标签中。我想我犯了一个错字,让我看看...... – LpLrich 2012-04-01 17:15:17

+0

我给了我的hidden_​​field_tag:id =>“instructor_hidden_​​field”,我的Loop的确是rr,所以我结束了...... this.form。 instructor_hidden_​​field.value =#{rr [:instructor_id]}; Thanks for answer(s)。 – LpLrich 2012-04-01 18:38:15

+0

尽管我使用了不同于您的建议,但请将您的答案设置为正确。谢谢你的回应,Gdoron。 – LpLrich 2012-04-01 18:38:42