弹出窗口中有2个按钮(确定和取消)。我想禁用"取消"按钮,弹出窗口时只需要OK按钮。我在页面上使用了会话时间,只需要按下确定按钮即可弹出。
<script src="jquery/js/jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript">
var sess_pollInterval = 60000;
var sess_expirationMinutes = 3;
var sess_warningMinutes = 1;
var sess_intervalID;
var sess_lastActivity;
function initSession()
{
sess_lastActivity = new Date();
sessSetInterval();
$(document).bind('keypress.session', function (ed, e) {
sessKeyPressed(ed, e);
});
}
function sessSetInterval()
{
sess_intervalID = setInterval('sessInterval()', sess_pollInterval);
}
function sessClearInterval()
{
clearInterval(sess_intervalID);
}
function sessKeyPressed(ed, e)
{
sess_lastActivity = new Date();
}
function sessLogOut()
{
window.location.href = 'Logout.aspx';
}
function sessInterval()
{
var now = new Date();
//get milliseconds of differneces
var diff = now - sess_lastActivity;
//get minutes between differences
var diffMins = (diff / 1000 / 60);
if (diffMins >= sess_warningMinutes)
{
//wran before expiring
//stop the timer
sessClearInterval();
//promt for attention
var active = confirm('Your session will expire in ' + (sess_expirationMinutes - sess_warningMinutes) +
' minutes (as of ' + now.toTimeString() + '), press OK to remain logged in ' +
'or press Cancel to log off. \nIf you are logged off any changes will be lost.');
if (active == true)
{
now = new Date();
diff = now - sess_lastActivity;
diffMins = (diff / 1000 / 60);
if (diffMins > sess_expirationMinutes)
{
sessLogOut();
}
else
{
initSession();
sessSetInterval();
sess_lastActivity = new Date();
}
}
else
{
sessLogOut();
}
}
}
</script>
我也尝试了这个:
$(".ui-dialog-buttonpane button:contains('Cancel')").attr("disabled", true).addClass("ui-state-disabled");
HTML code:
<body onload="initSession()" >
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
答案 0 :(得分:1)
无法在标准confirm
对话框中取消按钮,您需要使用自定义布局。
最简单的可能是使用JqueryUI和禁用按钮选项:
$('<div></div>').dialog({
title: "Your session will expire in " + 10 + " minutes ... TODO ",
modal: true,
buttons: [
{
id: 'confirm-ok',
text: 'OK',
click: function() {
alert("OK clicked");
}
}, {
id: 'confirm-cancel',
text: 'Cancel',
click: function() {
alert("Cancel clicked");
}
}]
});
if (true) { // <-- some custom logic
$("#confirm-cancel").button("disable");
}