Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何通过JavaScript将HTML5输入设置为必需_Javascript_Html_Required - Fatal编程技术网

如何通过JavaScript将HTML5输入设置为必需

如何通过JavaScript将HTML5输入设置为必需,javascript,html,required,Javascript,Html,Required,我有一个有许多输入字段和单选按钮的表单。 某些字段必须获得required-attribute。但需要哪些字段取决于单击了哪个单选按钮 (如果勾选了“公司电子邮件”,则需要输入字段“公司电子邮件”,否则为私人电子邮件) 最初,所有字段都应为required=false。 但这是行不通的。无论我给required属性赋予哪个值,required总是true 所以。。。如何将输入字段最初设置为required=false 编辑: 谢谢大家的回答 事实上,什么都不管用。 我制作了一个测试html文档,

我有一个有许多输入字段和单选按钮的表单。 某些字段必须获得required-attribute。但需要哪些字段取决于单击了哪个单选按钮

(如果勾选了“公司电子邮件”,则需要输入字段“公司电子邮件”,否则为私人电子邮件)

最初,所有字段都应为
required=false
。 但这是行不通的。无论我给required属性赋予哪个值,required总是true

所以。。。如何将输入字段最初设置为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>

这在我的示例页面上对我很有用。我必须检查我是否真的可以在我的真实项目中使用它。

从不需要的字段中删除
required
属性

在HTML5中,这是一个如何使用
required
的示例:

<input type="text" name="name" required>

所以,即使将其设置为false(或者任何事实上的东西),也有可能被认为是true

   $(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");
          }

    });
});

我希望这会有所帮助,让我知道您的反馈…

尝试删除所需的属性

your-input.removeAttr( "required" );

required
是一个布尔属性,因此无论您给出什么值,它仍然是必需的。
您可以设置元素属性,而不是设置属性

document.getElementById('companyemail').required = false;
document.getElementById('companyemail').required = false;