2013-10-19 19 views
5

私は単純なフォームの中にいくつかの必須フィールドがあります。フィールドに必要な属性が設定されているかどうかを確認する方法

<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の仕事、感謝を使用。

+5

は、 '==' ''場合は()であることを確認します。実際には 'alert(" value: "+ document.forms ['form'] ['name']。required);'のようなものを実行し、その値をチェックします。 – sjngm

+0

おそらく私は理解していないかもしれませんが、 'getAttribute'が' null'または '' ''を返すと、属性がその要素に存在しないことを意味します。 – ultranaut

+0

あなたはそれを小切手にする必要があります。それはうまくいくはずです。つまり、if(document.forms ['form'] ['name']。required) 'をチェックします。ここでは '='のためにテストの代わりに代入します。これは常にtrueを返します。 – PSL

答えて

8

これを試してみてください:

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

if(elem.hasAttribute('required')){ 
//do your stuff 
} 
関連する問題