Asp.net 在asp:LinkButton单击事件上通过jQuery引发确认对话框
考虑一个ASP.NET webforms应用程序,其中要求在单击Asp.net 在asp:LinkButton单击事件上通过jQuery引发确认对话框,asp.net,jquery,jquery-plugins,webforms,Asp.net,Jquery,Jquery Plugins,Webforms,考虑一个ASP.NET webforms应用程序,其中要求在单击ASP:LinkButton时引发确认对话框。确认对话框的结果应允许或阻止linkButton\u click方法的回发 当前使用的插件/库是jquery.alerts.js(可在上找到) $(文档).ready(函数(){ $(“#ctl00_main content_lnkDisable”)。单击(函数(){ jConfirm('请确认应禁用此emp?', “确认禁用”, 功能(r){ jAlert(“确认:”+r,“结果”)
ASP:LinkButton
时引发确认对话框。确认对话框的结果应允许或阻止linkButton\u click
方法的回发
当前使用的插件/库是jquery.alerts.js
(可在上找到)
$(文档).ready(函数(){
$(“#ctl00_main content_lnkDisable”)。单击(函数(){
jConfirm('请确认应禁用此emp?',
“确认禁用”,
功能(r){
jAlert(“确认:”+r,“结果”);
});
});
});
消息框正常启动
问题
问题是,它会显示大约2秒钟,然后在用户可以在弹出窗口上进行选择之前,页面会被发回。我已经在该事件处理程序上设置了一个断点,实际上该页面已被发回
问题
当用户下定决心并单击弹出窗口上的“确定”或“取消”按钮时,如何延迟回发
欢迎对其他插件提出任何建议 我想你会想要:
return jConfirm('Please confirm this emp should be disabled?',
(注意添加了“return”语句)
但我不能100%确定“jConfirm”函数是如何工作的
--编辑
有可能(事实上,很可能)该对话框不是模态的。看看你是否能想出办法(或者更有可能有人会回复)
通过一个典型的JavaScript确认,您可以
return confirm("Are you sure?");
但我假设你想要漂亮的:)
--编辑
考虑到它不能成为模态,可能类似于:
var confirmed = false;
$("#ctl00_mainContent_lnkDisable").click(function() {
if( confirmed ){ return true; }
jConfirm('Please confirm this emp should be disabled?',
'Confirm Disable',
function(r) {
jAlert('Confirmed: ' + r, 'Results');
confirmed = true;
#("ctl00_mainContent_lnkDisable").click();
confirmed = false;
});
});
return false;
});
未经测试,而且相当愚蠢(我不确定调用.click()是否会再次触发事件,因此使用布尔值),但它应该可以工作。我做了以下操作,它可以工作:
var confirmed = false;
$(".removeItemLink").click(function() {
if (confirmed) { return true; }
var clickedObj = $(this);
jConfirm('Are you sure you want to remove this item?',
'Confirm Removal',
function(r) {
if (r) {
confirmed = true;
clickedObj.click();
confirmed = false;
}
});
return confirmed;
});
@丝滑-谢谢。您可以使用jquery“单击”一个隐藏按钮。也许是这样的
$(".removeItemLink").click(function() {
var clickedObj = $(this);
jConfirm('Are you sure you want to remove this item?',
'Confirm Removal',
function(r) {
if (r) {
clickedObj.parent().find(".hidden-button-with-event").click();
}
});
});
检查此问题:
他使用的是jQuery标准对话框,但我很确定这也适用于这里。谢谢Silky。。。事实上,返回听起来合乎逻辑,而且可能是最终解决方案的一部分。但是,在本例中,它并没有阻止回发的发生。pcampbell:有意义,我想您需要确定如何使该对话框成为模态。它可能是该函数中的一个选项/参数。快速阅读站点后,您似乎无法使其成为模态。那有点烦人。那么你要做的是更复杂一点。我会更新主帖子。如果我需要同样的链接按钮在网格内呢view@Krunal:谢谢你的回答。不幸的是,这对我不起作用。
$(".removeItemLink").click(function() {
var clickedObj = $(this);
jConfirm('Are you sure you want to remove this item?',
'Confirm Removal',
function(r) {
if (r) {
clickedObj.parent().find(".hidden-button-with-event").click();
}
});
});