Change value of hidden_field_tag with JS (prototype & Rails 3)

僤鯓⒐⒋嵵緔 提交于 2019-12-24 03:20:31

问题


I'm riding Rails 3 and using Prototype. That said I'm only really asking a JS question..

I have a form, it's pretty simple. In the form I have a hidden field tag:

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

That's all fine and well when I am submitting the form to one particular instructor.

I have another page, however, which displays a lot of instructors. Rather than put the instructor id there myself, as in the code above, I'd like to change the value of the hidden field depending on which submit button is pressed.

Ie, one form, several submit buttons. The form will submit and all being well the user will be able to go on and hit another submit button, sending their data through to another instructor. To achieve this I want to use javascript to alter the value of my hidden field on click.

    <%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!" %>

That's the simple one instructor version of the form, essentially what I'm talking about doing is putting a loop of submit buttons and instructor ids in there.

So I'll have a loop (pseudo code..)

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

So My question is - what is the js to change that hidden field tag? Additional question - This makes perfect sense to me, may be rubbish, if there is a more sensible solution please let me know!

Thanks!


回答1:


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

Just like with every other input



来源:https://stackoverflow.com/questions/9965503/change-value-of-hidden-field-tag-with-js-prototype-rails-3

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!