• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:option属性の値取得について)

option属性の値取得について

このQ&Aのポイント
  • オプションタグの値取得の方法について質問があります。
  • opitonタグのvalue属性の値を取得する際、今までは方法Aのコードを用いていましたが、最近調べものをしていますと、方法Bのコードで取得するのが正しいと知りました。
  • しかしながら、方法Aであっても方法Bであっても取得する値に差異は見られませんでした。なぜ方法Aでも動作するのでしょうか?

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

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

>古いブラウザなどを考慮しますと、やはり方法Bが望ましいのでしょうか。 どうなんでしょうね? 私も昔は方法Bを使っていましたが、最近は方法Aにするようにしています。 基本的には古いブラウザっていっても「ものすごく古いブラウザ」なので たぶん方法Aでいいとおもますよ。 できれば情報提供側としては、いくつかのブラウザでチェックしておくのが 望ましいかと思います。

y3k
質問者

お礼

ご回答ありがとうございます。 現行どおり方法Aでいきたいと思います。 ありがとうございました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

古いタイプのjavascriptでは方法Bでしか動作しませんでしたので 「正しい」といえば方法Bなのですが、いまはブラウザが方法Aを 解釈するのが当たり前になってきているので、両方動きます。 方法論から言えば、見たとおり「jobの値を取得する」か 「jobの選ばれた番号とその番号に紐づいたoptionの値を取得する」か なので、手段が違いますが、得られる値は同じです。 別件ですが、最近はformに名前をつけてはいけないことになっているので こんな風に、オブジェクト渡しをするか、idをふって管理します。 <script language="javascript"> function func(f){ var Job1 = f.job.value;//方法A var Job2 = f.job.options[f.job.selectedIndex].value;//方法B alert( "Job1: " + Job1 ); alert( "Job2: " + Job2 ); } </script> <form> <select name="job"> <option value="j01">0</option> <option value="j02">1</option> <option value="j03">2</option> <option value="j04">3</option> <option value="j05">4</option> </select> <input type="button" value="func()" onclick="func(this.form)" /> </form>

y3k
質問者

お礼

早速のご回答ありがとうございます。 方法Aについてブラウザが解釈してくれるとのことで正直驚いています。 これについて詳細なページがありましたら教えていただけませんでしょうか? 方法Aは記述方法としてスマートな感じがしており、ぜひ使いたいのですが、 古いブラウザなどを考慮しますと、やはり方法Bが望ましいのでしょうか。