WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:あるチェックボックスにチェックが入ったら他のボックスのチェックをオフにしたい

0:[投稿] miyo [2003/01/23 19:53 ][環境:IE5.5 wakaranai]

アンケートのようなものを現在作っています。
複数回答可の質問なのでチェックボックスをつかっているのですが
最後の質問は「上記にあてはまるものはない」のような質問ですので
この項目にチェックが入ったら
自動的にその前にチェックされている項目があればチェックが消えるようにしたいのです。
javascriptでできると思うのですがjavascriptはあまり触ったことがないので見当がつかず困っています。
どなたかご存知の方がいらっしゃいましたらお教えください。


1:[回答] Iwa [URL] [2003/01/23 22:03 ]

「上記以外」を選択すると他のボックスが無効になります。
(チェックをはずすだけだとはずれた後に選択できてしまうので選択できないように無効化してます。)

各ボックスは処理がしやすいように連番にしています。
ボックスの数が増えればi<5を変更すればOKです。
(例:10個なら i<11 とします。)
myFORMはフォームの名前になります。

<html>
<head>
<title>チェックボックスの操作</title>
<script type="text/javascript"><!--
function checkB()
{
var box = document.myFORM;
var flag = true;

if(box.other.checked == false){flag = false;}
for(i=1; i<5; i++){box.elements["myCHK"+i].disabled = flag;}
}
// --></script>
</head>
<body>
<form name="myFORM">
<input type="checkbox" name="myCHK1">チェック1<br>
<input type="checkbox" name="myCHK2">チェック2<br>
<input type="checkbox" name="myCHK3">チェック3<br>
<input type="checkbox" name="myCHK4">チェック4<br>
<input type="checkbox" name="other" onclick="checkB()">上記以外<br>
</form>
</body>
</html>


2:[質問] miyo [2003/01/24 15:37 ]

回答ありがとうございます。
同じフォームの中に同じような事をしたい、回答の数の違った質問がいくつかあります。
この場合はnameをそれぞれ対応したものに変えてつかえばよいということでしょうか。
「上記以外」の選択肢はother以外では動かないと思うのですが
同じフォームの中にたくさんotherがあってもCGIに渡す際、区別がつくものなのでしょうか。
大変初心者な質問ですが教えていただけるとありがたいです。


3:[回答] Iwa [URL] [2003/01/24 17:05 ]

CGIには順に渡されますが、最終的には連想配列に格納されるので同じ名前を使うと、最後に来た同じ名前の変数名で上書きされてしまいます。

# 複数置くならその都度、適当に名前を変えてください。


4:[完了] miyo [2003/01/27 17:42 ]

なんとかできました。
どうもありがとうございました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World