是否可以在 JavaScript 中禁用 <form> 元素
Is it possible to disable the <form> element in JavaScript?
谷歌搜索只产生了如何禁用表单中每个元素的结果。
如果我有一个表单,其中绑定了一个调用 AJAX 请求的 onsubmit 事件,如何阻止用户完全提交表单?如果用户提交一次并发出请求,我不希望他们继续提交它以提出更多请求,否则这将使网站陷入困境。
据我所知,仅禁用提交按钮没有任何作用 - 您仍然可以在输入文本,电子邮件,密码等中点击"输入",并且表单仍然被提交。
这在任何浏览器中都可以吗?
编辑
如果 AJAX 请求出现错误并且已完成,我想再次重新启用表单以进行提交。
实现此目的的几种方法:
1)您可以保留一个变量来检测用户之前是否提交了表单(只需确保在服务器上运行类似的验证即可)。然后只需检查变量 OnSubmit() 并处理它或返回 false。
2)从页面中删除表单标签 - 不是很优雅,但应该可以解决问题。
HTML
<form id="my-form"></form>
爪哇语
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/
相关文章:
- 将 JavaScript 元素 ID 传递给 PHP 或 Form Variable
- 使用javascript创建Form元素,并在不重定向/刷新的情况下提交
- 从FORM访问HTML元素的JavaScript函数的单元测试用例
- 正在删除Form元素.hide()正在删除值
- 在onChange事件上将Form元素值传递给Ajax Post方法
- 使用Form元素转换/更改Div元素
- 在使用AJAX请求时,我还需要Form元素吗
- 我应该担心在form元素中使用GET不会;t自动对尖括号进行URL编码
- 当标签中有form元素时,使用Query更改标签
- 如何在PHP中剥离html标记类和id,只保留form和it元素
- jQuery获取id中包含form的元素
- 将HTML元素文本替换为FORM,无法单击进入输入字段
- 具有可编辑元素的表单应该具有' edit - Form '属性
- 不能在Firefox中调用Form元素
- 防止window.opener.location.href form重载父元素
- javascript文件.form[0]和document.
有不同的元素 - 创建所有带有form-control类的form元素可编辑的
- 如何在form元素中将按钮标记为活动onclick
- 如何使Form元素在JS中引用时正确工作
- 是否可以添加自定义元素作为'form元素'在angularJs中使用ng-dirty和ng-质朴