强制提交必填字段未填写的表格
Force submission of a form with an unfilled required field?
这个问题的标题也可能是:"使用javascript设置所需字段?"
<form class="theform" action="#" method="post" name="theform">
<label for="tname">Team Name:</label>
<input type="text" placeholder="Bears" required /><br>
<label for="captain">Captain:</label>
<input type="text" placeholder="Captain's Name" required /><br>
<button type="submit" value="Submit" onclick="toggleReq()" >Submit</button>
</form>
这是我表单的高度简化版本。我知道这可能看起来很奇怪,但我希望表单提交时"Captain"字段为空,并设置为required
。
我在想,当单击提交按钮时,让javascript删除required
属性,从而删除onclick="toggleReq()"
,这可能是可能的。
既然每个人都想知道为什么这会有用,我将解释:这个概念是在不久前引入的,垃圾邮件发送者可以通过包含一个额外的表单字段来挫败,用户被指示将其留空。(理想情况下,该字段将被隐藏;真正的用户不需要知道它的存在。)很明显,哪些评论来自垃圾邮件机器人,因为垃圾邮件机器人会自动填充虚拟字段。
我正在设法解决这种方法的几个弱点。垃圾邮件机器人可能会忽略一个非必填字段。然而,简单地设置所需的伪字段将阻止真实用户提交表单。因此,捕捉机器人的最佳选择是输入字段required
,但忽略所需的标记。从技术上讲,忽略是不可能的,但关闭required
属性是可行的。
如果您识别了captain的名称字段,这很容易。假设id为"队长":
function toggleReg(){
$("#captain").removeAttr('required');
}
或者非jQuery版本:
function toggleReq() {
document.getElementById("captain").removeAttribute("required");
}
当然,如果你想要一个真正的"切换",你需要先读取当前状态。
相关文章:
- 有没有办法限制Meteor-alded表格包中已发布的字段
- SIMPLE Javascript代码,用于显示谷歌电子表格中单个字段的数据
- 在网站[Greasemonkey/Javascript]上填写表格中的特定字段
- 谷歌电子表格的 HTML 输入字段
- 检查以上表格字段是否正确填写
- 在输入字段之前提取表格单元格中的文本
- 在不使用200行var的情况下,在结果字段中添加顺序命名的变量?[PDF表格]
- 滚动至联系人表格7中的已验证字段(wordpress)
- jQuery从TD(HTML表格)内的输入字段中获取值
- 空的必填字段没有'不要阻止提交表格
- 在同一表格字段中插入多个值
- 大卫·特恩布尔(David Turnbull)在未正确排序的附加球员表格中添加得分字段
- 表格中四个字段的平均值
- 如何在表格单元格中插入输入字段
- Angular表格中同一字段上的文本过滤器和下拉过滤器
- 在HTML表格中显示json不同的字段
- 强制提交必填字段未填写的表格
- 如何在带有输入字段的表格中插入文本
- 从表格单元格的输入字段中获取事件 .focusout
- 将输入字段的值复制到下一个表格单元格中相应的输入字段