2012-06-22 4 views
2

레코드의 ID를 뷰에 전달하여 삭제할 수있는 URL이 있습니다. 그러나 레코드를 삭제하기 전에 사용자에게 확인 메시지를 표시하고 싶습니다.Django에서 확인 메시지가 거짓 일 때 아무 것도 수행하지 않음

Javascript로 처리하려고하지만 작동하지 않습니다. 메시지가 나타나지만 "취소"를 클릭해도 Django가 페이지를 다시로드하여 결과적으로 행을 삭제합니다.

<script type="text/javascript"> 
    function confirmaExclusao() { 
     var resp = confirm("O grupo será excluído permanentemente. Deseja continuar?") 
     if (!resp) { 
      return false; 
     } 
    } 
</script> 

...

<a href="/grupos/remover/{{ grupo.id }}" onclick="confirmaExclusao()"><img src="{{ STATIC_URL }}img/btn_remove_group.png"></a> 

은 누군가가 나는이 문제에 대해 도와 드릴까요?

미리 감사드립니다.

답변

0

이것은 링크 컨텍스트에서 작동하기 때문입니다. 그레그를 없애고 코드에서 window.setlocation()을 사용해보십시오.

<script type="text/javascript"> 
function confirmaExclusao() { 
    var resp = confirm("O grupo será excluído permanentemente. Deseja continuar?") ; 
    if (!resp) { return false; } 
    Window.location(" /grupos/remover/{{ grupo.id }} "); 
} </script> 


    <iMG src="..." Onclick="confirmaExclusao()"> 
1

다른 답변자가 제안하는 것을 권장하지 않습니다. 추가 후

<a href="/grupos/remover/{{ grupo.id }}" onclick="return confirmaExclusao();"> 

과 :

return true; 

당신의 confirmaExclusao 함수의 끝에서 당신이해야 할 모든이에 < > 태그를 변경할 수 있습니다.

이 변경이 필요한 이유는 < > 태그를 클릭하면 "onclick"자바 스크립트 코드를 실행 한 다음 "href"를 실행하거나 따르기 때문입니다. onclick에서 false를 반환하면 "href"가 수행되지 않습니다. true를 반환하거나 아무 것도 반환하지 않으면 "href"가옵니다. 따라서 귀하의 경우 함수 호출 결과를 반환해야합니다.

<script type="text/javascript"> 
    function confirmaExclusao() { 
     return confirm("O grupo será excluído permanentemente. Deseja continuar?"); 
    } 
</script> 

을하지만 여전히 링크 태그에 변경 : 함수에서, 당신은 너무 기술적으로 함수는 수의 확인()의 결과를 반환해야합니다.

관련 문제