Javascript 确认()取消按钮不再在IE11中工作
我有一个asp.net 4站点,在用户从数据库中删除对象作为基于客户端的确认之前,我正在使用javascript的confirm()方法。对于IE6-10、Firefox、Chrome和Safari,这一切都很好。我点击cancel,它会停止页面加载。然而,我在IE11的用户控件上使用它时遇到了问题 usercontrol加载一个datagrid,该datagrid具有一个链接按钮,该按钮使服务器调用一个delete存储过程 在IE11中,确认弹出窗口会打开,但如果我单击窗口上的取消按钮或x,则不会停止页面发布并调用服务器中的删除命令。我尝试了我能想到的一切,但它总是通过并读取有效的页面 在ItemDataBound的代码隐藏中,我们有以下内容Javascript 确认()取消按钮不再在IE11中工作,javascript,asp.net,Javascript,Asp.net,我有一个asp.net 4站点,在用户从数据库中删除对象作为基于客户端的确认之前,我正在使用javascript的confirm()方法。对于IE6-10、Firefox、Chrome和Safari,这一切都很好。我点击cancel,它会停止页面加载。然而,我在IE11的用户控件上使用它时遇到了问题 usercontrol加载一个datagrid,该datagrid具有一个链接按钮,该按钮使服务器调用一个delete存储过程 在IE11中,确认弹出窗口会打开,但如果我单击窗口上的取消按钮或x,则
DeleteButton.CommandArgument = ac.ID.ToString(); //set the id so we know what to delete
DeleteButton.Attributes.Add("onclick", "Sure(event)");
这会将javascript附加到图像按钮
然后在包含javascript的文件中,我们有以下代码
function Sure(evt){
var ans = confirm("Are you sure you want to delete? \n\nPress OK to continue or Cancel to stop.");
if(!ans){
var e = (window.event)? window.event:evt;
e.returnValue = false;
return false;
}
}
调试时,它会将值设置为false,并在我按下“取消”按钮时返回它们,但这并不像其他浏览器那样停止回发。它直接转到数据库删除它的调用
你知道为什么IE11在确认被取消后不停止回发吗?如果我没听错的话,你是说
"onclick", "return Sure(event)"
据我所知,你的脚本不应该在任何地方工作,即使是IE11。如果您没有“返回”函数的值,那么您只是在执行函数并忽略确认对话框返回“false”的事实。语句var e=(window.event)?事件:evt代码>可以是evt=evt | | window.event代码>,然后使用evt代替e。
function Sure(evt){
var ans = confirm("Are you sure you want to delete? \n\nPress OK to continue or Cancel to stop.");
if(!ans){
var e = (window.event)? window.event:evt;
e.returnValue = false;
return false;
} else {
return ans;
}
}