アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

プルダウンメニューのvalue値を取得するのに以下のjavascriptとhtmlを作成しました。
3つのカテゴリプルダウンメニューのそれぞれのvalue値をflg_fileへ格納して、その値に対応したHTMLへジャンプという物なのですが、実際に動作させると、main_select02や03でvalue値を4、5と指定しているにもかかわらず、実際に動作させるとジャンプする先はlist_NO"1".htmlとなってしまっています。

これはvalue値がちゃんと取得できていないのか、それともプルダウンメニューは値を設定しても、上から自動的に1、2・・・となるのが仕様なのか、元々の作りがおかしいのか頭を悩ませています。

何がおかしいのか、ご教授頂けますようお願いします。

■javascriptソース
function flg_set(n) {
switch(n){
case 1:
flg_file = document.selectForm.main_select01.selectedIndex;
break;
case 2:
flg_file = document.selectForm.main_select02.selectedIndex;
break;
case 3:
flg_file = document.selectForm.main_select03.selectedIndex;
break;
}
}

function select_list() {
parent.select.location.href = "list_NO"+[flg_file]+".html";
}

■HTMLソース
<FORM NAME="selectForm">
<td width="10"> </td>
<td width="120"><select name="main_select01" onChange="flg_set(1)" onFocus="this.blur()" style="font-size:12px; width:120px;">
<option value="0">▲カテゴリ(1)</option>
<option value="1">┗ ページ(1)</option>
<option value="2">┗ ページ(2)</option>
<option value="3">┗ ページ(3)</option>
</select></td>
<td width="10"> </td>
<td width="120"><select name="main_select02" onChange="flg_set(2)" onFocus="this.blur()" style="font-size:12px;width:120px;">
<option value="0">▲カテゴリ(2)</option>
<option value="4">┗ ページ(4)</option>
<option value="5">┗ ページ(5)</option>
</select>
</td>
<td width="10"> </td>
<td width="120"><select name="main_select03" onChange="flg_set(3)" onFocus="this.blur()" style="font-size:12px;width:120px;">
<option value="0">▲カテゴリ(3)</option>
<option value="6" selected>┗ ページ(6)</option>
</select>
</td>
<td width="10"> </td>
<td width="100%"><input type="button" value="ページジャンプ" onClick="select_list();">
</td>
</form>

A 回答 (3件)

こんばんは。



>これはvalue値がちゃんと取得できていないのか、それともプルダウン
>ニューは値を設定しても、上から自動的に1、2・・・となるのが
>仕様なのか、元々の作りがおかしいのか頭を悩ませています。

私自身初心者なのでプログラムの作りがおかしいかどうかは判断しかねますが、(ごめんなさい(_ _)
value値を取得したいのならば、
flg_file = document.selectForm.main_select01.value;
でいいのではないでしょうか?

valueとselectedIndexは異なるプロパティです。

IndexNoは0から始まりますのでmain_select01では、たまたま、
main_select01のIndexNoとvalue値が一致していたということですね。

参考URL:http://www.scollabo.com/banban/java/ref_12.html# …
    • good
    • 0
この回答へのお礼

アドバイス頂いたように直しましたら上手く行きました!

なるほど・・・valueとselectedIndexは異なる物だったのですね!!

なんでだなんでだーと悩んでいましたが、根本的なところを理解していなかったようでお恥ずかしい限りです。

遅い時間に有難う御座いました!!

お礼日時:2007/05/27 23:13

もうちょっというとこういう形になります。


フォームオブジェクト名はformタグに指定されたnameの値、セレクトオブジェクト名はselectタグに指定されたnameの値。
document.フォームオブジェクト名.セレクトオブジェクト名.options[document.フォームオブジェクト名.セレクトオブジェクト名.selectedIndex].value
    • good
    • 0
この回答へのお礼

丁寧に二度も解説して頂いて真に有難う御座います!

やはりselectIndex部分だったのですね。
組み合わせると色々と出来そうで、とても参考になりました!

遅い時間に有難う御座いました!!

お礼日時:2007/05/27 23:18

document.selectForm.main_select01.options[document.selectForm.main_select01.selectedIndex].valueになるはずです。

    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!