プロが教えるわが家の防犯対策術!

いつもこのサイトを利用させていただいています。
セレクトメニューの選択不可はdisabledを使えばできることがわかったのですが、それだとvalueの値が保持されませんよね。
選択不可なんだけど、value=""の値を持たせたいのですが、どのようにすればよいでしょうか?
ご教授よろしくお願いします。

A 回答 (2件)

disabledされるであろう項目名と同じ項目名について、


HIDDENで定義します。名前は、_h を付けるとか。
初期値では、disabledで無効化して置き、

if (fOBJ["data_kit"][1].checked) {
fOBJ["pc_os"].disabled = false;
fOBJ["pc_os_h"].disabled = true;
}
else {
fOBJ["pc_os"].disabled = true;
fOBJ["pc_os_h"].disabled = false;
}

なんてコードで有効にしてしまう。
なんてアイディアではどうでしょうか?

もちろん。受け側でも、_h 付きに付いてもチェックして頂く必要があるのですけど。

# 試してないので分かりませんが、_h なしでも動く様な気もすこし。。。
    • good
    • 0
この回答へのお礼

なるほど・・・という感じです。
うまく機能しました。
どうもありがとうございます。
ちなみに_hなしでやってみたのですが、
うまくいきませんでした・・・。
(知識不足かもしれませんが・・・。)

お礼日時:2004/10/01 11:54

セレクトメニューは下記のようになると思うのですが、それで何をされたいのかもうちょっと詳しく説明された方がよいと思います。



<SELECT size="2" name="hoge" disabled>
<OPTION value="1" selected>a</OPTION>
<OPTION value="2">b</OPTION>
<OPTION value="3">c</OPTION>
</SELECT>

この回答への補足

すみません。
今作成しているのはこんな感じのソースです。
具体的にしたいことは、不要を選択するとセレクトメニューが選択できないようにしたいです。
かつ、フォーム送信したときにvalue=""の値も送信したいのです。disableだと値も無効になってしまうのでこれを回避したいです。
よろしくお願いします。

<html>
<head>
<title>テスト</title>
<script Language="JavaScript"><!--
function setSc()
{
fOBJ = document.f1;
RadioNum = 2;// ラジオボタンの数
for (i=0; i<RadioNum; i++)
{
if (fOBJ["data_kit"][1].checked) fOBJ["pc_os"].disabled = false; else fOBJ["pc_os"].disabled = true;
}
}
// --></script>
</head>
<body>
<form name="f1">
<input type="radio" name="data_kit" onClick="setSc()" checked>不要<br>
<input type="radio" name="data_kit" onClick="setSc()">要<br>
ご利用OS
<select name="pc_os" size=1 disabled>
<option value="" selected>- お選び下さい -</option>
<option value="a">a</option>
<option value="b">b</option>
<option value="c">c</option>
</select>
</form>
</body>
</html>

補足日時:2004/09/30 16:51
    • good
    • 0

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