ハマっている「お菓子」を教えて!

プルダウンをdisabledで制御しようと思っています。
yearを選択するまでmonthを無効にしたいのですが、うまくいきませんでした。
下記の簡略化したソースでも動作しませんでした。
テストでwindow.openを入れると動作するので、document...の文かとは思うのですが。

どなたかお気づきでしたら、お教え下さい。
よろしくお願い致します。

<html>
<head>
<title>inputtest</title>
<SCRIPT LANGUAGE="JavaScript">
function menu_ctrl(){
var sel_num = document.sel_inp.year.selectedIndex;
if(sel_num == 0){
document.sel_inp.month.disabled = false;
// window.open("http://www.google.co.jp/");
}
}
</SCRIPT>
</head>
<body onload="menu_ctrl()">

<form name="sel_inp">
<select name="year" onchange="menu_ctrl()">
<option value="00" style="color:#AAAAAA">null</option>
<option value="01">2007</option>
<option value="02">2008</option>
<option value="03">2009</option>
</select>

<select name="month">
<option value="00" style="color:#AAAAAA">null</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
</select>
</form>

</body>
</html>

A 回答 (2件)

最初画面表示するとき、入力が禁止されてなかったのせい。


下記のように、

<html>
<head>
<title>inputtest</title>
<SCRIPT LANGUAGE="JavaScript">
function menu_ctrl() {
var sel_num = document.sel_inp.year.selectedIndex;

if (sel_num ==0) {
document.sel_inp.month.disabled = true;
} else {
document.sel_inp.month.disabled = false;
}

}
</SCRIPT>
</head>
<body onload="menu_ctrl()">

<form name="sel_inp">
<select name="year" onchange="menu_ctrl()">
<option value="00" style="color:#AAAAAA">null</option>
<option value="01">2007</option>
<option value="02">2008</option>
<option value="03">2009</option>
</select>

<select name="month">
<option value="00" style="color:#AAAAAA">null</option>
<option value="01">1</option>
<option value="02">2</option>
<option value="03">3</option>
</select>
</form>

</body>
</html>
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

実は、disabledの効果を逆に覚えていました。
私の勘違いです。
すいません。

迅速なご対応で、非常に助かりました。
ありがとうございます。

お礼日時:2008/11/14 11:26

こんにちは



disabled の使い方が、逆になってます。
以下のようにすれば、良いと思いますよ。

<SCRIPT LANGUAGE="JavaScript">
function menu_ctrl(){
var sel_num = document.sel_inp.year.selectedIndex;
if(sel_num == 0){
document.sel_inp.month.disabled = true;
// window.open("http://www.google.co.jp/");
} else {
document.sel_inp.month.disabled = false;
}
}
</SCRIPT>
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

disableはtureで無効に、falseで有効にするのですね。

逆に覚えていました。
検証に何時間かかけて、原因が勘違いとは。


非常に助かりました。
ありがとうございます。

お礼日時:2008/11/14 11:24

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


おすすめ情報