2009-07-15 4 views
0

借用品目の予約フォームを作成したいとします。予約は、ピックアップ時間、返却時間、および予約者が借りたいアイテムとその金額から構成されます。たとえば、残りの週に3枚のプレート、3枚のナイフ、3枚のフォークを予約したいと思うかもしれません。Rails:テキストフィールドでonchangeリモート関数を実行すると、別のフィールドから値を取得する方法

フォームでは、十分な項目があるかどうかを確認するAJAX検証を行いたいと思います。各アイテムの横には、リサーバがアイテム量を入力するためのテキストボックスがあります。入力後、指定された日付にアイテムの量が利用可能であるかどうかをチェックするオン・チェンジ・コールを行います。したがって、項目ID、項目量(現在のテキストフィールドの値)、および上記のdatetime_selectフィールドの両方で指定された時間と戻り時間をピックアップして、onchangeパラメータで呼び出されるリモート関数を渡す必要があります。これは私のコードです:

明らか
<% with = "'amount='+value+'&item=#{item.id.to_s}&pick_up_time=#{@reservation.pick_up_time.to_s}&return_time=#{@reservation.return_time.to_s}'" %> 
<%= text_field_tag "reservation[#{prefix}reserved_items][#{item.id}]", get_amount_value(item, @reservation), :size => 3, :onchange => "#{remote_function(:url => { :controller => :items, :action => :availability }, :with => with, :update => availability_url) }" %> 

フォームはまだ送信されていないため、@のreservation.return_timeとする@ reservation.pick_up_timeがまだ設定されていないので、これは動作しません。私の質問は、それらの値をどのように取得するのですか?私はそれがjavascript呼び出しを介して行う必要があると信じていますが、私はjavascript呼び出しを "with"変数に挿入することはできませんでした。誰が私が何をすべきか考えている人はいますか?

+0

を表示することをJSコードを記述するためだけの場所であるとの理由だけではなく、検証フォームをサーバーに正常に渡してエラーを特定します。サーバーが関係しているので... – ErsatzRyan

答えて

1

使用プロトタイプセレクタ$は(#1 reservations_pick_up_timeは)

を.VALUE:属性は、サーバーが実行されている場合、あなたはそれがインライン

+0

私はそれを試しましたが、奇妙なエラーがあります:pick_up_timeフィールドの1つの値を尋ねようとすると(5つのドロップダウンからなるdatetime_selectのフィールドです)、javascriptそれは応答します: "TypeError:$(" conversation_pick_up_time_3i ")。value.toSは関数ではありません"。他のフィールドから値を取得することもできますし、そのフィールドのタイプも取得できますが、なんらかの理由で値が得られません。これについてのアイデア? – Kusti

+1

.toSができるだけでいいはずです。 $( "conversation_pick_up_time_2i")。値+ "/" + $( "conversation_pick_up_time_3i")。値+ "/" + $( "conversation_pick_up_time_1i")。値 私にMM/DD/YYYYを与えたら、時間をつけて続けることができます。 – ErsatzRyan

+0

私は.toSコールをやろうとしていませんでしたが、それだけは言っていました...しかし、いくつかの神秘的な変数の名前を付けることによって、件名に関連する他の質問の詳細が表示されます: http://stackoverflow.com/questions/1136688/how-to-get-the-value-of-a-datetimeselect-field-とにかく、助けてくれてありがとう、あなたの答えは、私が正しいことをしていたと信じて勇気を与えた:) + "(aspectviewPTC ')。value"&' + '&' + '&' + '&' + 'aspectViewPTC_val =' + $( 'aspectlookPTC')の値を に渡す: – Kusti

関連する問題