2009-06-15 10 views
6
<p> 
    <input type="text" id="search" name="keywords" /> 
    <input type="submit" value="Search" name="Submit" /> 
</p> 

上記のコードでは、検証エラーが発生しましたが、一度id = "search"を削除すると、検証にはエラーがなく、エラーは発生しませんでした。私はあなたがIDが必要だと思ったが、それがそこにあるはずですか?入力タグの「id」は必要ですか?

+0

どのような確認エラーがありますか? –

+0

私は同じ名前の別の検索入力タイプがあったため、id = "search"を別の名前に変更しなければならないことを理解しました。だから私がやりたかったのは名前を変更することでした。 – Holly

答えて

11

このIDを持つ他の要素はドキュメントにありますか?それが妥当性検査が失敗する唯一の理由です。 IDはドキュメント内で一意であることを意味します。他の場所にあると無効になります。

IDを持つ要素がJavascriptで簡単かつ迅速に取得できる要素として、何らかのクライアント側の作業を行う予定がある場合、IDは良好です。 <label>要素を使用している場合は、for属性(IDを使用)を使用してフィールドを指すようにすることもできます。

それ以外は本当に問題ありません。

+1

ラベルのターゲットは私がそれらを使用する主な理由です。私はラジオボタンまたはチェックボックスをオンにするウェブサイトを憎むことが嫌いです。 –

+0

いいえ、そのIDは他にありません。私はそれが事実だと思ったが、100%確実ではなかった。だから私はそれを削除しても問題ありません。ありがとうございました! – Holly

3

ID属性は必要ありません。 name属性は渡される属性です。

+1

これは間違っています。 ITは実際には逆です:http://www.devguru.com/technologies/xhtml/QuickRef/xhtml_attribute_id.html –

-4

ダニエルは正しいです。属性のラベルは、入力のname属性に関連付けられています。このように、for = "first_name"でラベルを選択すると、name = "first_name"の入力が選択されます。

+1

この回答は実際には間違っています。

関連する問題