我有一个提交表单,每个表单都删除一个对象:
{% for person in persons %}
<form id='form' name='delete' action="{% url 'delete_person' person.id %}"
method='POST'>
{% csrf_token %}
<button type='submit' onclick="bootbox.confirm();" id="del" class='btn btn-xs btn-link icon'><i class='glyphicon glyphicon-remove'></i></button>
</form>
{% endfor %}
当我点击删除图标时,应删除相应的人,
我正在使用bootbox.confirm():
<script type="text/javascript">
$(document).ready(function(){
$(".btn#del").click(function(e) {
e.preventDefault();
var lHref = $('form#form1').attr('action');
bootbox.confirm("Are you sure?", function(confirmed) {
if(confirmed) {
window.location.href = lHref;
}
});
});
})
</script>
我正在获取下面表格的网址:
var lHref = $('form#form1').attr('action');
bootbox.confirm("Are you sure?", function(confirmed) {
if(confirmed) {
window.location.href = lHref; ...
问题是,无论我点击哪个删除按钮,表单中的第一个用户都会被删除,所以我想知道如何将$(this)传递给bootbox.confirm()以便我可以获得正确的URL < / p>
答案 0 :(得分:0)
而不是绑定到按钮的id(在你的情况下是多个,所以它只会绑定第一个按钮的事件)使用表单的提交事件
也可以从你的按钮中删除onclick
{% for person in persons %}
<form id='form' name='delete' action="{% url 'delete_person' person.id %}"
method='POST'>
{% csrf_token %}
<button type='submit' id="del" class='btn btn-xs btn-link icon'><i class='glyphicon glyphicon-remove'></i></button>
</form>
{% endfor %}
在javascript中
<script type="text/javascript">
$(document).ready(function(){
$("form").submit(function(e) {
e.preventDefault();
var lHref = $(this).attr('action');
bootbox.confirm("Are you sure?", function(confirmed) {
if(confirmed) {
window.location.href = lHref;
}
});
});
})
</script>