Change value of hidden_field_tag with JS (prototyp

2019-07-21 03:06发布

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条回答
戒情不戒烟
2楼-- · 2019-07-21 03:41
document.getElementById('theId').value = "what ever you want";

Just like with every other input

查看更多
登录 后发表回答