- ベストアンサー
ジャンプメニューの表示を初期値に戻したい
左フレーム(frame name="menu")にジャンプメニューを5個つけて、右フレーム(frame name="main")にジャンプ先が表示されるページで、 ジャンプしてもフレームセットは解除せずに target="main"で表示させます。 ジャンプ後にジャンプメニューの表示を初期値(<option selected>の部分)に戻したいのですがどう記述すればいいですか? 現在のスクリプトは以下の通りです。以下のものに付け足す形で記述したいです。 ●スクリプト部分 function go (_url) { if (_url == "--") { return; } else { form1.target="main"; form1.action = _url; form1.submit(); } } <select onChange="go(this.options[this.selectedIndex].value)"> ●フォーム部分 <select onChange="go(this.options[this.selectedIndex].value)" name="select1"> <option value="--" selected>Select Menu</option> <option value="sample1.htm">サンプル1</option> <option value="sample2.htm">サンプル2</option> </select> 以上です。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
submit() した後に、<option> の一番目が選択されれば良いのですか? function go (_url) { if (_url == "--") { return; } else { form1.target="main"; form1.action = _url; form1.submit(); form1.select1.selectedIndex = 0; // ★ これ! } } submit() した後に selectedIndex を0にするだけでしょ。 form は name="form1" 、select は name="select1" だとして 書いてます。
その他の回答 (2)
- inoue64
- ベストアンサー率29% (334/1115)
>form1.select2.selectedIndex=sentaku2 そうした場合、 sentaku2=form1.select2.selectedIndex; を、</form>のあとに入れてください。 >なぜかなにも変わりませんでした。 ><script> >sentaku = form1.select1.selectedIndex; ></script> これは、</form>の後にいれてください。
補足
</form>の後にいれてみたのですが、だめでした。(;_;) 今回の記述以外でどこか間違いがあるのかもしれません。
- inoue64
- ベストアンサー率29% (334/1115)
・○番目の選択肢に移動する場合 (一番上を0とし、1、2、3・・・) else{ (省略) ここに form1.select1.selectedIndex=○ を入れてください。 } ・option selectedに移動する場合 さっきの場所に、form1.select1.selectedIndex=sentakuと入力して、 メニューファイルのフォーム以降のどこかに <script> sentaku = form1.select1.selectedIndex; </script> というスクリプト文を追加してください。 アドバイス else { form1.target="main"; form1.action = _url; form1.submit(); } は、 else { parent.main.location = _url; } とするほうが簡単です。
お礼
ご回答ありがとうございます。 ご回答通りに記述してみたんですけど、 なぜかなにも変わりませんでした。 下記の通りでいいのですよね?? もし、なにか原因が考えられればアドバイスお願いします。 ちなみに実際にselectは1~5まであります。 (下記にはselect1とselect2を記述しました) その場合は、 form1.select1.selectedIndex=sentaku form1.select2.selectedIndex=sentaku2 …というようにselectの数だけ記述するのですか? ●スクリプト部分 function go (_url) { if (_url == "--") { return; } else { form1.target="main"; form1.action = _url; form1.submit(); form1.select1.selectedIndex=sentaku; } } ●フォーム部分 <form name="form1"> <script> sentaku = form1.select1.selectedIndex; </script> <select onChange="go(this.options[this.selectedIndex].value)" name="select1"> <option value="--" selected>Select Menu</option> <option value="sample1.htm">サンプル1</option> <option value="sample2.htm">サンプル2</option> </select> select onChange="go(this.options[this.selectedIndex].value)" name="select2"> <option value="--" selected>Select Menu</option> <option value="sample3.htm">サンプル3</option> <option value="sample4.htm">サンプル4</option> </select> </form> 以上です。
お礼
ご回答ありがとうございます。 できました!!!!!感激!! ありがとうございました。