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

时间:2012-04-01 15:16:02

标签: javascript ruby-on-rails-3 forms prototype hidden-field

我正在使用Rails 3并使用Prototype。那说我只是在问一个JS问题..

我有一张表格,很简单。在表单中我有一个隐藏的字段标记:

<%= 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是什么? 附加问题 - 这对我来说非常有意义,可能是垃圾,如果有更明智的解决方案请告诉我!

谢谢!

1 个答案:

答案 0 :(得分:7)

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

与其他input

一样