2

我有一个 URL,它将记录的 ID 传递给要删除的视图。但是,我想在删除记录之前向用户显示确认消息。

我正在尝试使用 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

这是因为您在链接的上下文中进行操作。尝试拿走 Greg 并在代码中使用 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 回答