2015-01-24 2 views
0

레일 4에서 제출 버튼을 클릭하면 jquery를 사용하여 페이지의 특정 요소를 숨기려고합니다. 그러나 "span"요소는 두 번째 버튼을 클릭 할 때까지 숨겨지지 않습니다.레일스 AJAX 클릭 방법을 두 번 클릭해야합니다.

<%= form_for(@actor, remote: true) do |f| %> 
    <% if @actor.errors.any? %> 
     <div id="errors"> 
      <p>Please correct the following <%= pluralize(@actor.errors.count, "error") %>:</p> 
      <ul> 
       <% @actor.errors.full_messages.each do |msg| %> 
        <li><%= msg %></li> 
       <% end %> 
      </ul> 
     </div> 
    <% end %> 
    <div> 
     <%= f.label :Name %> 
     <%= f.text_field :fname %> 
    </div> 
    <div> 
     <%= f.label :Surname %> 
     <%= f.text_field :lname %> 
    </div>  
    <div> 
     <%= f.submit @actor.new_record? ? "Create actor" : "Update actor", :id => 'button' %> 
    </div> 
    <span id="actor"> 
     Test text...hide me please... 
    </span> 
<% end %> 

가 나는 그것이 첫 번째 클릭에 요소를 숨길 싶습니다

$(document).ready(function(){ 
    $("#button").click(function(){ 
    $("#actor").hide(); 
    }); 
}); 

이 내 _form.html.erb입니다 : 이것은 내 create.js.erb입니다. 어떤 충고?

+1

숨기려고하는 요소와 버튼이 포함 된 코드를 게시하십시오. – RhapX

+0

@RhapX, 나는 양식에서 코드로 게시물을 업데이 트했습니다. –

+0

@DarkNawg 레일즈 코드를 살펴본 이후 오랜 시간이 걸렸지 만,'id = "button"은 버튼이'update' 액션 일 때만 설정되어있는 것처럼 보입니다. 내가 틀렸을 수도있다. 확인해주세요. – RhapX

답변

2

클릭 방법을 제거하면 문제가 해결됩니다.

+1

예! 새로운 시간에 레일을 배울 때 염두에 두어야 할 암묵적인 것들이 많이 있습니다. 이것은 자동으로 실행된다는 것을 잊기 쉽기 때문에 click과 같은 이벤트 핸들러를 추가하는 것은 불필요하고 문제가됩니다. – ahnbizcad

관련 문제