- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:form につけた id 値の取得方法)
form の id 値の取得方法とは?
このQ&Aのポイント
- form 内に id という名前の input 要素がある場合、form につけた id 値は取得できません。
- この場合、例えば f2.id が input 要素になります。
- form の id 値を取得する方法は、JavaScript の getElementById メソッドを使用することです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
予約済みのIDL属性はフォーム部品のID属性値として命名しない方法が最善かと思いますが、あえて id="id" に対応するなら対策はあります。 http://jsfiddle.net/BG8g2/1/ f3 では getAttribute を利用していますが、IE7- ではプロパティ参照する為、期待通りに動作しない可能性が高いと思われます。(環境がないので未確認) f4 が無難と思われますが、古い IE は DOM を完全に実装していないので、対象ブラウザ範囲なら必ず動作確認してください。 http://msdn.microsoft.com/en-us/library/ms536429%28v=vs.85%29.aspx f3 は id="getAttribute" が、f4 は id="attributes" のフォーム部品が存在すれば破綻します。 いずれにしても、id, name属性値に気をつける必要があるのですから id="id" は避ける方向にすべきだと私は思います。 # そもそも、"id" という名前のフォーム部品って名前としてしっくりこないものがあります。
その他の回答 (1)
- teketon
- ベストアンサー率65% (141/215)
回答No.2
> f2.id これは > f2["id"] を行なっています。 そのため、f2の子であるINPUT要素が帰ってくるわけです。
質問者
お礼
ありがとうございます。 f2.id の参照がこのような動作になるのには、初めて気づきました。
お礼
回答ありがとうございます。 即効で解決し、しかもブラウザの違いに対する注意までつけていただき ありがとうございます。 id という DB の項目名はよくあると思うのですが、name="id" は送信されたデータの項目名をそのまま DB の項目名として使用するためのものです。ここだけであれば、name="id" を変えてしまえばよいのですが ... 方法を教えていただき助かりました。