2012-04-01 11 views
2

私はRails 3に乗り、Prototypeを使用しています。それは私が本当にJSの質問をしているだけだと言った。JS(プロトタイプ&Rails 3)でhidden_​​field_tagの値を変更

私はフォームを持って、それはかなり簡単です。フォームには、非表示のフィールドタグがあります。

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

特定のインストラクターにフォームを送信しても問題ありません。

しかし、多くのインストラクターが表示される別のページがあります。上記のコードのように、インストラクターIDを自分自身に置くのではなく、どのサブミットボタンが押されたかによって、隠しフィールドの値を変更したいと思います。

つまり、1つのフォーム、いくつかの送信ボタン。フォームが提出され、ユーザーが他の送信ボタンを押して他の講師にデータを送信できるようになります。これを達成するために、javascriptを使用して、クリック時に私の隠しフィールドの値を変更します。フォームの簡単な1人のインストラクターバージョンです

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

は、基本的に私がやって話していると、そこにボタンやインストラクターのIDSを提出するループを置くことです。

だから私は(擬似コードを...)ループを持っています

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

だから、私の質問は - その隠しフィールドタグを変更するためのjsのは何か? 追加の質問 - これは私にとって完璧な意味を持っています。より賢明な解決策があれば、私に知らせてください!

ありがとうございます!

答えて

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

ちょうどこのため、他のすべてのinput

+0

こんにちはおかげと同じように、私は今それに打撃を与えるでしょう。これに似たようなことを試みていたのですが、値が隠されたフィールドタグに表示されていないため、間違いをしていると仮定しています。私はtypoを作ってみました...... – LpLrich

+0

私は私のhidden_​​field_tagにid => "instructor_hidden_​​field"を与え、私のループはdo rrだったので、私は結局終わりました... this.form。 instructor_hidden_​​field.value =#{rr [:instructor_id]}; 回答ありがとうございます。 – LpLrich

+0

提案したものとは異なる行を使用しましたが、正しい答えを設定してください。応答ありがとう、Gdoron。 – LpLrich

関連する問題