如何使用Javascript设置HTML5的required属性?
P粉739886290
P粉739886290 2023-10-13 08:52:25
[HTML讨论组]

我正在尝试在 Javascript 中将 text 输入框标记为必需

如果该字段最初标记为 required:


当用户尝试提交时,他们会收到验证错误:

但现在我想通过 Javascript 在“运行时”设置 required 属性:


使用相应的脚本:

//recommended W3C HTML5 syntax for boolean attributes
document.getElementById("edName").attributes["required"] = "";

除非我现在提交,否则没有验证检查,没有阻止。

设置 HTML5 验证布尔属性正确方法是什么?

jsFiddle

您问该属性的值是多少?

HTML5 验证 required 属性记录为 Boolean

4.10.7.3.4 required 属性

required 属性是一个布尔属性。指定后,该元素是必需的。

关于如何定义 boolean 属性,有很多令人烦恼的事情。 HTML5 规范注释:

元素上存在布尔属性表示真值,不存在该属性表示假值。

如果该属性存在,则其值必须是空字符串或与该属性的规范名称匹配的 ASCII 不区分大小写的值,并且没有前导或尾随空格。

这意味着您可以通过两种不同的方式指定 required boolean 属性:

edName.attributes.required = ""; //the empty string
edName.attributes.required = "required"; //the attribute's canonical name

但是属性的值实际上是多少?

当你查看我的 jsFiddle 的这个问题时,你会注意到如果 required 属性在标记中定义:

那么属性的值不是空字符串,也不是属性的规范名称:

edName.attributes.required = [object Attr]

这可能会带来解决方案。

P粉739886290
P粉739886290

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号