我试图在Javascript text中根据需要标记输入框。<input id="edName" type="text" id="name">如果该字段最初标记为required:<form> <input id="edName" type="text" id="name" required><br> <input type="submit" value="Search"></form>当用户尝试提交时,他们会收到验证错误:在此输入图像描述但现在我想通过Javascript required在“运行时”设置属性:<form> <input id="edName" type="text" id="name"><br> <input type="submit" value="Search"></form>与相应的脚本://recommended W3C HTML5 syntax for boolean attributesdocument.getElementById("edName").attributes["required"] = ""; 除非我现在提交,否则没有验证检查,没有阻止。设置HTML5验证布尔属性的正确方法是什么?的jsfiddle你问,这个属性有什么价值?HTML5验证required属性记录为Boolean:4.10.7.3.4 required属性该required属性是布尔属性。指定时,元素是必需的。关于如何定义boolean属性有很多令人费解的事。HTML5规范说明:元素上存在布尔属性表示真值,缺少属性表示false值。如果该属性存在,则其值必须是空字符串,或者是属性的规范名称的ASCII不区分大小写匹配的值,没有前导或尾随空格。这意味着您可以通过两种不同的方式指定required 布尔属性:edName.attributes.required = ""; //the empty stringedName.attributes.required = "required"; //the attribute's canonical name但是,什么是属性的值真的?当你查看我的问题的jsFiddle时,你会注意到如果required在标记中定义了属性:<input id="edName" type="text" id="name" required>那么属性的值不是空字符串,也不是属性的规范名称:edName.attributes.required = [object Attr]这可能会导致解决方案。
3 回答
慕雪6442864
TA贡献1812条经验 获得超5个赞
和jquery版本:
$('input').attr('required', true)
$('input').attr('required', false)
我知道这是不可能的,但也许有人会觉得这很有帮助:)
添加回答
举报
0/150
提交
取消