查看页面
<a href="#" data-id='.$row['employee_id'].' data-target="#confirm-delete" data-toggle="modal"><span class="glyphicon glyphicon-trash"></span></a>
Bootstrap Modal
<div class="modal fade" tabindex="-1" role="dialog" id="confirm-delete">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-body">
<h1>Delete a Employee</h1>
<div class="alert-success" style="display: none;">Successfully delete</div>
<form class="form-horizontal" action="" method="post">
<input type="hidden" name="id" id="delete-form" value=""/>
<p class="alert alert-error">Are you sure to delete ?</p>
<div class="form-actions">
<button type="submit" class="btn btn-danger" data-id="">Yes</button>
<a class="btn" href="view-list.php">No</a>
</div>
</form>
</div>
</div>
</div>
脚本
var valueID;
$('.glyphicon-trash').click(function(){
valueID = $(this).parent().data('id');
console.log('id ' + valueID);
$('#delete-form').val(valueID);
$('.btn-danger').attr('data-id', valueID);
});
$('.btn-danger').on('click', function(e){
var val = $(this).data('id');
$.ajax({
type: "POST",
url: 'delete.php',
data: 'employee='+val,
success: function(data){
$('.alert-success').fadeIn(200).show();
setTimeout(function(){
$("#confirm-delete").modal('hide');
}, 3000);
},
error: function(data){
$('.alert-danger').html('Failed');
}
});
});
当在模态上单击“是”按钮时,它应显示成功消息,然后模态在2秒后消失。但是特定行不会消失,并且其行中的数据也不会被删除。我无法理解为什么。感谢帮助
答案 0 :(得分:0)
在第
行data-id='.$row['employee_id'].'
您为HTML属性和哈希键字符串使用了单引号。它可能是将HTML与PHP代码混合在一起,而不是打印任何值。固定版本如下:
data-id='.$row["employee_id"].'
或许你应该写
<?php echo $row['employee_id']; ?>
这取决于您打印HTML代码的方式。此外,请始终记住清理用户输入。下面的一行有一个安全漏洞:
data: 'employee='+val,
任何人都可以通过提供不同的ID来删除其他用户,或者通过编辑HTML表单(使用像Firebug这样的浏览器开发人员工具)来更改 val 值来做一些讨厌的事情比如 DROP TABLE USERS; 命令。