简体   繁体   中英

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

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!

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

就像其他input

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM