我想要一个按钮被禁用(仅当来自"验证者"验证组未被触发的验证者)以防止双重提交。我使用JavaScript来禁用点击按钮。但是,ALSO开始阻止提交表单(没有触发验证器)。我设法在禁用按钮之前添加一个小计时器。这是代码:
var btn = document.getElementById("btnRegister");
btn.addEventListener("click", function () {
if (Page_ClientValidate("grpRegister")) {
var myVar = setInterval(function () { btn.disabled = true; clearInterval(myVar); }, 100);
}
});
只有100毫秒的延迟,它起作用了。所以我的问题是, ANY计时器值有效吗?并且为什么会这样,它不能立即被禁用?
修改:
只需 1ms 即可使其正常运行。以下代码 DON' T 工作:
var btn = document.getElementById("ContentPlaceHolder1_btnRegistar");
btn.addEventListener("click", function () {
if (Page_ClientValidate("Registar")) {
btn.disabled = true;
}
});