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

selectメニューで困っています。
下のようなselectメニューをクリアボタンを使って一番上の「------」まで移動させたいのです。
IEやNN4.7はきっちり動くのですが、NN6.2で上手く動きません。
NN6だけは、かたくなに「ゲームで」に戻ろうとします。

「ここ」と書いた所を
document.JTform.play_l.options[0].defaultSelected="true";
document.JTform.play_l.options[1].defaultSelected="false";
document.JTform.play_l.options[2].defaultSelected="false";
document.JTform.play_l.options[3].defaultSelected="false";
に増やしてみたのですが、変わらないみたいでした。
なにか他に良い方法はないでしょうか?

<html>
<Script Langage="JavaScript">
function init_func()
{
document.JTform.play_l.selectedIndex=0;
document.JTform.play_l.options[0].defaultSelected="true";<!--ここ-->
document.JTform.play_l.index=0;
}
</Script>
<form name="JTform">
<select name="play_l">
<option value="">--------------------</option>
<option value="1">犬と</opne>
<option value="2">ラジコンで</opne>
<option value="3" selected>ゲームで</opne>
</select>
<INPUT TYPE="submit" VALUE="さあ、遊ぼう"> <INPUT TYPE="reset" VALUE="クリア" Onclick="init_func()">
</form>
</html>

A 回答 (1件)

恐らく、リセットボタンの本来の機能が init_func() 実行後に働き、「ゲームで」に戻ってしまうのでしょう。


init_func関数の最後に
  return false;
を追加し、onClick の部分も
  onClick="return init_func()"
としてみて下さい。
もしこれで直らない場合、type="reset" ではなく type="button" に変えるしかなさそうです。

また、init_func関数の方は、
  document.JTform.play_l.selectedIndex=0;
だけで良いでしょう。
  document.JTform.play_l.options[0].defaultSelected="true";
の defaultSelected というプロパティは 初期状態で選択されている OPTIONタグのみ true となる ReadOnly 属性なので、値の代入は無効のはずです。
(ちなみに、true は "" で囲まなくてOKです。)

同じく、
  document.JTform.play_l.index=0;
これも不要です。
(indexなんて属性あったかな・・?)
    • good
    • 0
この回答へのお礼

問題解決いたしました。文法の間違いまで大変助かりました。
ボタンのTypeはResetのままでも、大丈夫なようです。
ありがとうございました。

お礼日時:2003/02/10 09:09

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