0
문제점 : 페이지에 첫 번째 양식 만 제출합니다.jquery와 난간이있는 check_boxes를 사용하여 한 페이지에 여러 양식 제출
나는 수행 할 때 체크 박스를 클릭하여 확인할 수있는 할일이 있습니다.
내 부분에는 양식이 있습니다. todos가있는 것처럼 여러 번 렌더링되지만 다른 ID를 사용합니다. 양식에 체크 박스가 있습니다. 클릭하면 양식이 제출됩니다.
여기서 부분
<%= form_for todo, :remote => true, :html => {:id => "edit_done_todo_#{todo.id}"} do |f| %>
<%= f.hidden_field(:done_by_user_id,:value => current_user.id) %>
<%= f.check_box :completed, :class => "done_box", :id => todo.id %>
<% end %>
자바 스크립트
jQuery.fn.mark_todo_done = function(){
var id = $(this).attr("id")
console.log(id)
$("#edit_done_todo_" + id).submit()
};
$(document).ready(function() {
$(".done_box").live("click", function() {
$(this).mark_todo_done();
})
})
CONSOLE.LOG 올바른 ID를 표시한다. 그러나 페이지의 첫 번째 양식이 제출됩니다.
렌더링 된 HTML 마크 업을 보여 주실 수 있습니까? 내 생각 엔''태그가 누락되어 브라우저가 유효하지 않기 때문에 브라우저가 제거하는 중첩 된 양식이됩니다. –
요청 당 하나의 양식 만 제출할 수 있기 때문입니다. 별도의 양식을 보내려면 아약스 제출을해야하며 아약스가 아닌 결정에 대해서는 모든 것을 하나의 양식으로 병합하는 것이 좋습니다. –