• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:form につけた id 値の取得方法)

form の id 値の取得方法とは?

このQ&Aのポイント
  • form 内に id という名前の input 要素がある場合、form につけた id 値は取得できません。
  • この場合、例えば f2.id が input 要素になります。
  • form の id 値を取得する方法は、JavaScript の getElementById メソッドを使用することです。

質問者が選んだベストアンサー

  • ベストアンサー
  • think49
  • ベストアンサー率59% (285/482)
回答No.1

予約済みの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" という名前のフォーム部品って名前としてしっくりこないものがあります。

t-okura
質問者

お礼

回答ありがとうございます。 即効で解決し、しかもブラウザの違いに対する注意までつけていただき ありがとうございます。 id という DB の項目名はよくあると思うのですが、name="id" は送信されたデータの項目名をそのまま DB の項目名として使用するためのものです。ここだけであれば、name="id" を変えてしまえばよいのですが ... 方法を教えていただき助かりました。

その他の回答 (1)

  • teketon
  • ベストアンサー率65% (141/215)
回答No.2

> f2.id これは > f2["id"] を行なっています。 そのため、f2の子であるINPUT要素が帰ってくるわけです。

t-okura
質問者

お礼

ありがとうございます。 f2.id の参照がこのような動作になるのには、初めて気づきました。

関連するQ&A