2

これを削除するために、レコードの ID をビューに渡す URL があります。しかし、レコードを削除する前にユーザーに確認メッセージを表示したいと思います。

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>

誰かがこの問題について私を助けることができますか?

前もって感謝します。

4

2 に答える 2

1

他の回答者が示唆することを行うことはお勧めしません。<a> タグを次のように変更するだけです。

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

次に追加します。

return true;

あなたのconfirmaExclusao機能の最後に。

この変更が必要な理由は、<a> タグをクリックしたときのデフォルトの動作が「onclick」JavaScript コードを実行し、「href」を実行/フォローするためです。onclick で false を返すと、"href" は追跡されません。true を返すか、何も返さない場合は、"href" に従います。したがって、あなたの場合、関数呼び出しの結果を返す必要があります。関数では、confirm() の結果を返す必要があるため、技術的には関数は次のようになります。

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

ただし、リンクタグに変更を加えてください。

于 2012-06-22T04:34:35.580 に答える
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()">
于 2012-06-22T04:28:10.683 に答える