我有一个包含许多输入字段和单选按钮的表单。
某些字段必须获取required - attribute。但是
字段是必需的取决于点击单选按钮。
(如果"公司电子邮件"已选中 - >输入字段"公司电子邮件"是必填项,否则为私人电子邮件)
最初所有字段都应为required=false
。
但这不起作用。无论我赋予必需属性的价值,所需的总是如此。
那么......我怎样才能将输入字段最初设置为required = false?
编辑:
谢谢大家的回答。
实际上没有任何作用。 我做了一个像这样的测试html文档:
function test2()
{
document.getElementById("33").attr("required");
}
<form method="post" action="#">
<input type="text" id="33">
<input type="text">
<input type="text">
<input type="text">
<input type="radio" onclick="test2()">
<input type="submit" value="send">
</form>
令人难以置信,但这个非常简单的例子不起作用。 id为33的字段不是必填字段。 我可以提交表格,没有检查任何内容。 这有什么不对?
编辑2:
现在我找到了解决方案:
function test2()
{
document.getElementById("33").required = true;
}
这适用于我的示例页面。我必须检查我是否真的可以在我的真实项目中使用它。
答案 0 :(得分:0)
从不需要的字段中删除required
属性。
在HTML5中,这是如何使用required
:
<input type="text" name="name" required>
因此,即使将其设置为false(或其他任何事实),也可能被认为是真的。
答案 1 :(得分:0)
$(document).ready(function() {
$("#privateemail").attr("required");
$("#companyemail").removeAttr("required");
$('#checkbox1').change(function() {
if($(this).is(":checked")) {
$("#companyemail").attr("required");
$("#privateemail").removeAttr("required");
}
else{
$("#privateemail").attr("required");
$("#companyemail").removeAttr("required");
}
});
});
我希望这可能会有所帮助,让我知道您的反馈......
答案 2 :(得分:0)
尝试删除所需的属性
your-input.removeAttr( "required" );
答案 3 :(得分:0)
required
是一个布尔属性,所以无论你给出什么值,它仍然是必需的
您可以设置元素属性
document.getElementById('companyemail').required = false;