在Django中使用简单的JavaScript确认删除
我知道这个问题已经有很多版本了,但我发这个问题是因为没有一个能完全满足我的需求。
我想要的就是:
- 用户点击“删除”按钮
- 用户会看到一个JavaScript确认对话框
- 如果选择“是”
- 继续进行删除
- 如果选择“否”
- 什么都不做
- 如果选择“是”
我正在使用Django的通用删除视图(DeleteView)
class CommentDelete(DeleteView):
model = Comment
success_url = 'index.html'
template_name = 'index.html'
@method_decorator(login_required)
def dispatch(self, *args, **kwargs):
return super(CommentDelete, self).dispatch(*args, **kwargs)
def get_object(self, *args, **kwargs):
obj = super(CommentDelete, self).get_object(*args, **kwargs)
if not obj.owner == self.request.user:
raise Http404
return obj
我的删除按钮看起来像这样:
<h2><a href="comment/{{ cmt.id }}/delete" class="cmt_del">
Delete
</a></h2>
--编辑--
我已经成功弹出了对话框,但不知道接下来该怎么做。
当我在确认对话框中点击“是”时,如何删除特定的评论呢?
2 个回答
1
你应该在按钮点击时阻止默认的操作
$(document).ready(function(){
$('.cmt_del').click(function(e){
e.preventDefault();
var a = confirm('Sure?');
if(a){}
else if(!a){}
});
});
2
那要不要加一个自定义的数据属性,这样方便访问呢?
[HTML]
<a href="comment/{{ cmt.id }}/delete" class="cmt_del" data-confirm="true">
Delete
</a>
[jQuery]
$('*[data-confirm="true"]').on('click', function() {
return confirm("Are you sure?");
});