- ベストアンサー
option属性の値取得について
- オプションタグの値取得の方法について質問があります。
- opitonタグのvalue属性の値を取得する際、今までは方法Aのコードを用いていましたが、最近調べものをしていますと、方法Bのコードで取得するのが正しいと知りました。
- しかしながら、方法Aであっても方法Bであっても取得する値に差異は見られませんでした。なぜ方法Aでも動作するのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>古いブラウザなどを考慮しますと、やはり方法Bが望ましいのでしょうか。 どうなんでしょうね? 私も昔は方法Bを使っていましたが、最近は方法Aにするようにしています。 基本的には古いブラウザっていっても「ものすごく古いブラウザ」なので たぶん方法Aでいいとおもますよ。 できれば情報提供側としては、いくつかのブラウザでチェックしておくのが 望ましいかと思います。
その他の回答 (1)
- yambejp
- ベストアンサー率51% (3827/7415)
古いタイプの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>
お礼
早速のご回答ありがとうございます。 方法Aについてブラウザが解釈してくれるとのことで正直驚いています。 これについて詳細なページがありましたら教えていただけませんでしょうか? 方法Aは記述方法としてスマートな感じがしており、ぜひ使いたいのですが、 古いブラウザなどを考慮しますと、やはり方法Bが望ましいのでしょうか。
お礼
ご回答ありがとうございます。 現行どおり方法Aでいきたいと思います。 ありがとうございました。