考虑一个ASP.NET webforms应用程序,其中的要求是在单击asp:LinkButton时启动一个确认对话框。确认对话框的结果应该允许或阻止linkButton_click方法的回发。
当前使用的插件/库是jquery.alerts.js (在ABeautifulSite上找到)。
<script src="http://labs.abeautifulsite.net/projects/js/jquery/alerts/demo/jquery.js"
type="text/javascript"></script>
<script src="http://labs.abeautifulsite.net/projects/js/jquery/alerts/demo/jquery.ui.draggable.js"
type="text/javascript"></script>
<!-- Core files -->
<script src="http://labs.abeautifulsite.net/projects/js/jquery/alerts/demo/jquery.alerts.js"
type="text/javascript"></script>
<link href="http://labs.abeautifulsite.net/projects/js/jquery/alerts/demo/jquery.alerts.css"
rel="stylesheet" type="text/css" />
<asp:LinkButton runat="server" ID="lnkDisable"
Text="Disable This Emp" onclick="lnkDisable_Click" />
<script type="text/javascript">
$(document).ready(function() {
$("#ctl00_mainContent_lnkDisable").click(function() {
jConfirm('Please confirm this emp should be disabled?',
'Confirm Disable',
function(r) {
jAlert('Confirmed: ' + r, 'Results');
});
});
});
</script>

消息框正确启动!
问题问题问题是它显示了大约2秒,然后页面被回发,然后用户才能在弹出窗口上进行选择。我已经在该事件处理程序上设置了一个断点,并且页面实际上是回发的。
问题:当用户下定决心并单击弹出窗口上的OK或Cancel按钮时,如何延迟回发?
欢迎对另一个插件的任何建议!
发布于 2009-08-19 02:46:06
我想你会想:
return jConfirm('Please confirm this emp should be disabled?', (请注意添加“返回”语句)。
但我不能百分之百确定“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()是否会再次触发事件,从而触发布尔值),但它应该能工作。
发布于 2010-01-06 06:44:20
我做了以下的工作:
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;
});@Silky -谢谢。
发布于 2010-10-19 14:29:23
您可以使用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();
}
});
});https://stackoverflow.com/questions/1297597
复制相似问题