2012-04-28 5 views
0

좋아요.이 유형의 문제가 더 자주 발생합니다. 내 HTML의 대부분 렌더링 아약스이며 새 아약스 요청을 만들기 위해 렌더링 된 페이지에서 필드와 값을 사용합니다. 그러나 어떤 사건도 발생하지 않는 것 같습니다. 왜 그런지 이해해야합니다.루비 레일 - 텍스트 필드 변경 이벤트 및 아약스

이것은 양식/버튼을 건너 뛰기 위해 change 이벤트에서 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 콜백에서 '경고'는 어떻게됩니까? –

답변

0

마지막 jquery 코드는 함수이기 때문에 호출 할 때까지 실행되지 않습니다. 첫 번째 줄과 마지막 줄을 제거하면 페이지가로드 될 때 실행되어 텍스트 상자에 정의 된 함수를 첨부합니다.