问题
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