在django中删除确认
问题描述:
我正在django的一个项目中工作。我有这部分代码,当我想要删除一个专辑时,它会显示Yes或No来选择,但问题是,无论我做出什么选择,它总是会删除专辑。我知道我必须添加一些东西到确认选项,但我不想要在哪里或什么。在django中删除确认
<form action="{% url 'music:delete_album' album.id %}" method="post" style="display: inline;">
{% csrf_token %}
<input type="hidden" name="album_id" value="{{ album.id }}" />
<button type="submit" onclick="confirm('Are you sure ?')" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-trash"></span>
</button>
</form>
,这是delete_album观点:
def delete_album(request, album_id):
album = Album.objects.get(pk=album_id)
album.delete()
albums = Album.objects.filter(user=request.user)
return render(request, 'music/index.html', {'albums': albums})
答
好,它可以被验证之前提交表单。如果你复制下一个剪切然后它将验证:)
<form action="{% url 'music:delete_album' album.id %}"
method="post" style="display: inline;" onsubmit="window.mytest()">
{% csrf_token %}
<input type="hidden" name="album_id"
value="{{ album.id }}" />
<button type="submit" class="btn btn-default btn-sm">
<span class="glyphicon glyphicon-trash"></span>
</button>
</form>
<script type="text/javascript">window.mytest = function() { var isValid = confirm('Are you sure ?');if (!isValid) { event.preventDefault(); alert("It wont delete. Yay!");}}</script>
javascript confirm()方法返回一个布尔值。只有当它返回true时,你才应该提交表单。 – aris
,我该怎么做? –
试试这个:从你现在的位置删除confirm(),并把它放在表单中: