2013-08-03 4 views
1

을 발사하지의 제출 나는 다음과 같은 형식이 있습니다JQuery와 장고 양식

<div> 
    <form id="edit-form" method="post" action="">{% csrf_token %} 
     <fieldset></fieldset> 
     <button id="button-submit" type="submit">Submit</button> 
    </form> 
</div> 

은 내가 아약스를 통해 그것을 할 수 있도록 자신을 제출 해고하고자합니다. 문제는 제출 처리기에 결코 도달하지 않는다는 것입니다. 다음은 코드입니다.

$.post(url,data,function(result){ 
    $(".page-added").append(result); 
    $("#edit-form").submit(function (event){ 
     event.preventDefault(); 
    alert('submitted'); 
    return false; 
}); 

}) 
return false 
}); 

결과에 편집 양식이 포함되어 있습니다.

경고가 발생하지 않으며 제출 처리기에 도달하지 못하는 것이 문제입니다.

답변

1

append()은 동 기적으로 동작하므로 #edit-form이 DOM에 존재하기 전에 해당 처리기를 바인딩 할 수 있습니다.

당신은 정적 요소에 on()을 사용하여이 문제에 대한 다른 접근 방법을 사용할 수 있습니다

// bind your submit handler here, assuming .page-added is the static element 
$('.page-added').on('submit', '#edit-form', function (e) { 
    e.preventDefault(); 
    alert('submitted'); 
}); 

// do your ajax here 
$.post(url, data, function (result) { 
    $(".page-added").append(result); 
}); 

는 도움이되기를 바랍니다.