在应该删除的时候删除记录't
deleting record when it shouldn't
我正在尝试显示一个确认框,它与Confirm
完美配合,但与我的自定义消息框不配合
这是有效的,
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
LinkButton link = (LinkButton)e.Row.Cells[4].Controls[2];
if (link != null)
{
link.OnClientClick = "return confirm('Do you really want to delete?')";
}
}
}
但当我把这个放在上时
link.OnClientClick = "ConfirmationBox()";
function ConfirmationBox()
{
$.blockUI({ message: $('#question'), css: { width: '275px' }
});
}
它显示消息框,但也删除了我的记录:'(
还困惑吗?看看这个,
显示消息框的命令字段
编辑
<script type="text/javascript">
$(document).ready(function() {
$('#yes').click(function() {
$.unblockUI();
return true;
});
$('#no').click(function() {
$.unblockUI();
return false;
});
});
</script>
查看两个OnClientClick
事件之间的差异。正常工作的返回值,而不正常的则不返回。
单击按钮时,将执行按钮操作。单击操作也会执行。但是,如果单击操作返回false,则按钮的操作将被取消。更改
link.OnClientClick = "ConfirmationBox()";
至
link.OnClientClick = "return ConfirmationBox()";
如果动作未被确认,则使CCD_ 3返回false。
第二个选项很可能不返回false
,这就是为什么在任何情况下都会删除您的记录。您可以将其更改为:进行验证
function ConfirmationBox()
{
$.blockUI({ message: $('#question'), css: { width: '275px' }});
return false;
}
这并不是说会阻止删除记录,但也不会让你删除它。你需要一些返回UI控件结果的东西。
你也应该修改链接:
link.OnClientClick = "return ConfirmationBox()";
正如Jim所说,你必须有
link.OnClientClick = "return ConfirmationBox()";
ConfirmationBox应始终返回false。您需要有另外一个按钮来执行删除操作,如果用户按下"是"按钮,则需要触发该按钮的单击事件。我希望这是有道理的。
相关文章:
- 使用Rails 3中的AJAX删除记录
- 使用jquery和ajax删除记录
- 尝试使用Promises删除记录
- 如果用户选择离开网页,如何删除记录
- 删除记录确认消息
- 模型没有'在Emberjs中删除记录后不会更新
- 如何在js中从数组中删除记录
- Delete方法不适用于Indexed DB HTML5.它返回成功,但未删除记录
- 从 ExtJs 4.1 存储中删除记录时触发哪些事件
- 为什么使用挖空在确认框中单击“取消”时删除记录
- 如何使用 ajax 删除记录
- 如何在代码点火器框架中删除记录后从图像目录中删除图像
- 如何从 javascript 对象中删除记录
- 有关从数据库中删除记录的确认
- YDN 数据库 按 ID 删除记录 (索引数据库)
- ng资源 使用$delete从查询对象中删除记录
- 从JSON对象Javascript中删除记录
- 如何在剑道网格中添加、更新或删除记录时添加一个隐藏字段
- 在php中使用ajax删除记录而不刷新页面
- 删除记录并刷新Won't始终如一地工作