2012-04-28 8 views
0

Ok ..私はこのタイプの問題をより頻繁に実行しています。私のhtmlの大部分はレンダリングされたajaxで、新しいAjaxリクエストを作成するためにレンダリングされたページのフィールドと値を使用します。しかし、事件のいずれも発射されないようです。それがなぜこれを理解する必要があります。Rubyのレール - テキストフィールドの変更イベントとajax

これは、フォーム/ボタンをスキップするために、変更イベントでajax呼び出しを行うテキストフィールドを持つ単純なフォームです。そして、それは動作していません。私はここで何を変えますか?

<div><%= form_tag users_search_path, :remote => true, :id => 'search_form' do %> 
<%= text_field_tag :keyword, nil, :maxlength => 11, :size => 20 %># Tried this putting outside of this form, didn't work. 
<%= submit_tag " Search ", :id => "search_button", :onclick => "javascript:user_search()"%> 
<% end %></div> 

<%= text_field_tag :keyword, nil, :maxlength => 11, :size => 20 %>、この形式のこの入れて外を試みた動作しませんでした。

$(function(){ 
$("#keyword").change(function() { 
     alert('ok'); 
     $.post('/users/search', function(data) { 
     $("#search").html(data); 
    }); 
    }); 
} 
+0

"機能しませんでした"とはどういう意味ですか? '$ .post'は失敗しましたか?あなたのコールバックは呼ばれませんでしたか?変更イベントが発生する前に、[''がフォーカスを失わなければならないことを知っています](http://www.w3.org/TR/DOM-Level-2-Events/events.html#Events-eventgroupings-htmlevents )、 右? –

+0

@muistooshort - コンソールで私はポストリクエストがまったく入ってこないのを見ています。 –

+0

しかし、jQueryコールバックの 'alert'はどうですか? –

答えて

0

最後のjqueryコードは関数なので、呼び出すまで実行されません。最初と最後の行を削除すると、ページが読み込まれたときに実行され、内部で定義されている関数をテキストボックスに追加します。

関連する問題