【问题标题】:How to check if the required attribute is set on a field如何检查是否在字段上设置了必需的属性
【发布时间】:2013-10-19 16:44:39
【问题描述】:

我有一个简单的表单,其中包含一些必填字段。

<form name="form" method="post">
<pre>
<label>     Name: </label><input type="text" name="name" required>
<label>  Address: </label><input type="text" name="add" required>
<label>Telephone: </label><input type="text" name="tel">
<input type="submit" value="Submit Form"> 
</pre>
</form>

我知道您可以使用document.forms['form']['name'].required = false 设置所需的属性。但是有没有一种方法可以检查是否设置了所需的属性?我尝试使用getattribute(),但它只是返回空白。我也尝试使用下面的代码,但它总是执行语句,即使未设置所需的属性(例如在电话字段上)。

 if( document.forms['form']['name'].required = true)
     label.innerHTML += " (required)"

有谁知道我可以做到这一点的方法吗?

更新: 将 if 语句设置为 == 而不是 = 和使用 hasAttribute 都有效,谢谢。

【问题讨论】:

  • if() 中将其设为==。或者实际上执行alert("value: " + document.forms['form']['name'].required); 之类的操作并检查该值。
  • 也许我不明白,但如果getAttribute 返回null"",则表示该元素上不存在该属性,这是您想知道的。
  • 您需要检查,而不是分配。它应该可以工作,即检查 if(document.forms['form']['name'].required) 。在这里你分配而不是测试,因为= 总是返回true。

标签: javascript html forms required


【解决方案1】:

试试这个:

var elem = document.getElementsByTagName('input')[0];

if(elem.hasAttribute('required')){
//do your stuff
}

【讨论】:

    猜你喜欢
    • 2015-10-27
    • 2011-11-03
    • 2011-08-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 2013-09-29
    相关资源
    最近更新 更多