在javascript中等待服务器响应时,如何禁用表单提交?
我有一张表格在javascript中等待服务器响应时,如何禁用表单提交?,javascript,jsp,Javascript,Jsp,我有一张表格 <form method="POST" id="form1" action"<%=login%>"> <input id="btn" type="submit" value="Log in" /> 其中,%=login%是调用java代码的jsp页面 我注意到,如果我在登录时按住enter按钮或多次按下该按钮,它会不断为用
<form method="POST" id="form1" action"<%=login%>">
<input id="btn" type="submit" value="Log in" />
其中,%=login%是调用java代码的jsp页面
我注意到,如果我在登录时按住enter按钮或多次按下该按钮,它会不断为用户创建新会话和请求。在等待服务器响应时,禁用连续按下按钮的功能的最佳方法是什么
谢谢如果您多次检测到该操作,则可以阻止该操作
document.querySelector("#form1").addEventListener("submit", function(e) {
if (this.dataset.active) {
e.preventDefault;
return;
}
this.dataset.active = 'true';
});
我将使用AJAX请求调用JSP页面。要防止页面重新加载,请向表单中添加EventListener:
document.getElementById("form1").AddEventListener("submit", e => {
e.preventDefault();
document.getElementById("btn").disabled = true;
// AJAX Request
});
如果请求成功或失败,请将按钮的disabled属性设置为false。是什么阻止您隐藏或禁用按钮?在收到服务器的回复之前,禁用按钮的好方法是什么?我尝试在按钮中添加一个“onclick”函数,在按钮中禁用它,然后提交,但是按钮被禁用,所以它没有提交。