是否可以在JavaScript中禁用<form>元素?</form>

时间:2013-09-07 16:41:30

标签: html forms javascript

Google搜索仅显示结果,显示如何禁用表单中的每个元素

如果我有一个带有绑定到它的onsubmit事件的表单调用AJAX请求,我该如何阻止用户完全提交表单?如果用户提交一次并提出请求,我不希望他们继续提交请求,否则会让网站陷入困境。

根据我的要求,仅禁用提交按钮无效 - 您仍然可以在输入文本,电子邮件,密码等中点击“输入”,表单仍然会提交。

这可以在任何浏览器中使用吗?

修改

如果AJAX请求出错,如果完成,我想再次重新启用该表单进行提交。

2 个答案:

答案 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/