防止JavaScript OnClick bind confirm()重写VB.NET单击处理程序
我必须解决分配给我的某些代码中的一个问题,问题是在防止JavaScript OnClick bind confirm()重写VB.NET单击处理程序,javascript,vb.net,event-handling,Javascript,Vb.net,Event Handling,我必须解决分配给我的某些代码中的一个问题,问题是在页面中遵循此代码。initelsestatement: Me.SaveChangesButton.Attributes.Add("OnClick", "if (!confirm('Are you sure?')){ return false; } else { document.getElementById('SaveChangesButton').disabled = true;
页面中遵循此代码。init
else
statement:
Me.SaveChangesButton.Attributes.Add("OnClick",
"if (!confirm('Are you sure?')){
return false;
} else {
document.getElementById('SaveChangesButton').disabled = true;
document.getElementById('rejectButton').disabled = true;
}
")
覆盖此代码:
Protected Sub SaveChangesButton_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles SaveChangesButton.Click
问题[已编辑]
confirm()
绑定到按钮,使其不会覆盖处理程序
函数else{document.getElementById('SaveChangesButton')。禁用=
true;document.getElementById('rejectButton').disabled=true;}
它工作正常,但我应该如何编写它以使它继续执行SaveChangesButton_单击
,因为我只了解第二部分重写处理程序document.getElementById('SaveChangesButton')。disabled=true;
document.getElementById('rejectButton')。disabled=true编码>并仍然执行SaveChangesButton\u单击
处理程序而不覆盖它?
SaveChangesButton\u单击页面.Init中的
,我也会将OnClientClick设置为
3,4)在服务器端OnClick
之前触发OnClick
(当然)。这会使您在启动OnClick
之前禁用按钮。并且,OnClick
不会在禁用的按钮上触发。怎么办延迟禁用按钮
Me.SaveChangesButton.OnClientClick = @"
if (!confirm('Are you sure?')) {
return false;
} else {
setTimeout(function(){
document.getElementById('SaveChangesButton').disabled = true;
document.getElementById('rejectButton').disabled = true;
}, 100);
}"
这实际上使您的问题与…重复,谢谢,刚刚测试的效果很好。但是仍然使用timeout
感觉是错误的。一旦找到其他方法,请将其作为答案发布。我会很感兴趣的。
Me.SaveChangesButton.OnClientClick = @"
if (!confirm('Are you sure?')) {
return false;
} else {
setTimeout(function(){
document.getElementById('SaveChangesButton').disabled = true;
document.getElementById('rejectButton').disabled = true;
}, 100);
}"