Google搜索仅显示结果,显示如何禁用表单中的每个元素
。如果我有一个带有绑定到它的onsubmit事件的表单调用AJAX请求,我该如何阻止用户完全提交表单?如果用户提交一次并提出请求,我不希望他们继续提交请求,否则会让网站陷入困境。
根据我的要求,仅禁用提交按钮无效 - 您仍然可以在输入文本,电子邮件,密码等中点击“输入”,表单仍然会提交。
这可以在任何浏览器中使用吗?
修改
如果AJAX请求出错,如果完成,我想再次重新启用该表单进行提交。
答案 0 :(得分:1)
实现这一目标的几种方法:
1)您可以保留一个变量来检测用户之前是否提交过表单(只需确保在服务器上运行类似的验证)。然后只需检查变量OnSubmit()并处理它或返回false。
2)从页面中删除Form标签 - 不是很优雅,但应该这样做。
答案 1 :(得分:0)
<强> HTML 强>
<form id="my-form"></form>
Javascript
var submitted = false;
var form = document.getElementById("my-form");
form.onsubmit = function(){
if(!submitted){
submitted = false;
//some ajax function
}
return false;
}
JS小提琴: http://jsfiddle.net/rudaf/