• ベストアンサー

ジャンプメニューの表示を初期値に戻したい

左フレーム(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> 以上です。

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

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.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" だとして 書いてます。

soyokaze
質問者

お礼

ご回答ありがとうございます。 できました!!!!!感激!! ありがとうございました。

その他の回答 (2)

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.2

>form1.select2.selectedIndex=sentaku2 そうした場合、 sentaku2=form1.select2.selectedIndex; を、</form>のあとに入れてください。 >なぜかなにも変わりませんでした。 ><script> >sentaku = form1.select1.selectedIndex; ></script>  これは、</form>の後にいれてください。

soyokaze
質問者

補足

</form>の後にいれてみたのですが、だめでした。(;_;) 今回の記述以外でどこか間違いがあるのかもしれません。

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.1

・○番目の選択肢に移動する場合 (一番上を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; } とするほうが簡単です。

参考URL:
http://tohoho.wakusei.ne.jp/www.htm
soyokaze
質問者

お礼

ご回答ありがとうございます。 ご回答通りに記述してみたんですけど、 なぜかなにも変わりませんでした。 下記の通りでいいのですよね?? もし、なにか原因が考えられればアドバイスお願いします。 ちなみに実際に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> 以上です。

関連するQ&A