当前位置: 首页 > 知识库问答 >
问题:

如何在JavaScript中设置HTML5必需属性?

单凯捷
2023-03-14

我试图按照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>

当用户试图提交时,会给出一个验证错误:

<form>
    <input id="edName" type="text" id="name"><br>
    <input type="submit" value="Search">
</form>
//recommended W3C HTML5 syntax for boolean attributes
document.getElementById("edName").attributes["required"] = "";         

JSFiddle

HTML5验证Required属性被记录为Boolean:

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

edName.attributes.required = ""; //the empty string
edName.attributes.required = "required"; //the attribute's canonical name
<input id="edName" type="text" id="name" required>

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

edName.attributes.required = [object Attr]

可能会找到解决办法。

共有1个答案

娄德运
2023-03-14

required是一个反射属性(如idnametype等),因此:

element.required = true;

...其中元素是实际的输入DOM元素,例如:

document.getElementById("edName").required = true;

(为了完整起见。)

edName.attributes.required = [object Attr]

因此,如果没有反映required,则可以通过添加属性来设置它:

element.setAttribute("required", "");

...相当于元素。required=true。您可以通过完全删除它来清除它:

element.removeAttribute("required");

...相当于元素。required=false

 类似资料:
  • 问题内容: 我正在尝试标记Javascript 中所需的输入框。 如果该字段最初标记为required: 当用户尝试提交时,将收到验证错误: 但是现在我想通过Javascript 将属性设置为“运行时”: 使用相应的脚本: 除非我现在提交,否则没有验证检查,也没有阻止。 设置HTML5验证布尔属性的正确方法是什么? 您问该属性的值是什么? HTML5验证属性记录为: 4.10.7.3.4 属性 该

  • 问题内容: 在我的Web应用程序中,我对表单字段使用了一些自定义验证。在同一个表单中,我有两个按钮:一个用于实际提交表单,另一个用于取消/重置表单。 通常,我使用Safari作为默认浏览器。现在Safari5退出了,突然我的“取消/重置”按钮不再起作用了。每次按下重置按钮时,表单中的第一个字段都会获得焦点。但是,这与我的自定义表单验证相同。在其他浏览器上尝试时,一切都很好。我必须是Safari 5

  • 问题内容: 我创建了以下内容… 我现在将如何设置CSS属性,例如? 问题答案: 用途:

  • 问题内容: 我有以下HTML5表单: 目前,当我将两个都空白时按Enter键时,会出现一个弹出框,提示“请填写此字段”。如何将默认消息更改为“此字段不能为空”? 还请注意,类型密码字段的错误消息很简单。要重新创建此名称,请为用户名指定一个值,然后单击“提交”。 我正在使用Chrome 10进行测试。请同样做 问题答案: 用途): 我已按照@itpastorn在评论中的建议,从Mootools更改为

  • 问题内容: 我想呈现输入的HTML5属性,以便可以将jquery图像选择器与react一起使用。我的代码是: 问题是即使正确地以a形式传递,它也不会在HTML中呈现- 只是呈现为。如何使变量正确传递到HTML? 问题答案: 您不应将JavaScript表达式用引号引起来。 查看JavaScript Expressions文档以获取更多信息。

  • 问题内容: 使用支持HTML5的较新浏览器时(例如FireFox 4); 表单字段具有属性; 表单字段为空/空白; 然后单击提交按钮; 浏览器检测到“必填”字段为空,不提交表单; 而是浏览器显示提示,要求用户在字段中键入文本。 现在,我没有一 组 文本 框 ,而是一 组复选框 ,其中至少有一个应该由用户选中/选择。 如何在这组复选框上使用HTML5 属性?(由于仅需要选中一个复选框,因此无法将属性