
よろしくお願いします。
複数あるチェックボックスから常にひとつだけしか選択できないように
したく、色々調べてみたところ、下記のようなスクリプトを見つけました。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>sample</title>
<script type="text/javascript">
var before = null;
function test(e) {
var tgt = e.srcElement ? e.srcElement: e.target;
if (before == tgt && tgt.checkd == true) {
tgt.checked = true;
} else {
var chks = document.getElementsByName('radiolike');
for (var i = 0; i < chks.length; i++) {
if (chks[i] != tgt) chks[i].checked = false;
}
}
before = tgt;
}
</script>
</head>
<body>
<form id="SAMPLE" action="#" onclick="test(event);">
<label for="c1"><input name="radiolike" id="c1" type="checkbox" value="0">Item1</label>
<label for="c2"><input name="radiolike" id="c2" type="checkbox" value="1">Item2</label>
<label for="c3"><input name="radiolike" id="c3" type="checkbox" value="2">Item3</label>
</form>
</body>
</html>
上記のチェックボックス群を同ページに複数置きたいときは、どのよう
にスクリプトを変えたらよいのか分からずとても困っております。
分かりづらい説明で誠に申し訳ありません。
補足説明致しますので、どうかご教授下さいますようお願い致します。
No.5ベストアンサー
- 回答日時:
No.4です。
> お教え頂いたスクリプトはSAMPLE1とSAMPLE2でそれぞれに<form>タグがあるのですが、これをFORMタグひとつで動作させることはできるものなのでしょうか?
可能です。
今回のプログラムは、nameが同じ値の<input>タグのチェックボックスが、2つ以上チェックされないように動作するものです。
ですので、この<input>タグのnameを、うまく変えてあげれば、思い通りの動作になるはずです。
ご回答頂きありがとうございました。
その後、色々と試してみて、無事動作させることができました。
最後までお付き合い頂き、誠にありがとうございました。
No.4
- 回答日時:
今のプログラムを少し変更して実現すると以下のような感じになります。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "?http://www.w3.org/TR/html4/loose.dtd">?
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<title>sample</title>
<script type="text/javascript">
var before = null;
function test(e, suffix) {
var tgt = e.srcElement ? e.srcElement: e.target;
if (before == tgt && tgt.checkd == true) {
tgt.checked = true;
} else {
var chks = document.getElementsByName('radiolike' + suffix);
for (var i = 0; i < chks.length; i++) {
if (chks[i] != tgt) chks[i].checked = false;
}
}
before = tgt;
}
</script>
</head>
<body>
<form id="SAMPLE1" action="#" onclick="test(event, '1');">
<label for="a1"><input name="radiolike1" id="a1" type="checkbox" value="0">Item11</label>
<label for="a2"><input name="radiolike1" id="a2" type="checkbox" value="1">Item12</label>
<label for="a3"><input name="radiolike1" id="a3" type="checkbox" value="2">Item13</label>
</form>
<body>
<form id="SAMPLE2" action="#" onclick="test(event, '2');">
<label for="c1"><input name="radiolike2" id="c1" type="checkbox" value="0">Item21</label>
<label for="c2"><input name="radiolike2" id="c2" type="checkbox" value="1">Item22</label>
<label for="c3"><input name="radiolike2" id="c3" type="checkbox" value="2">Item23</label>
</form>
</body>
</html>
この回答への補足
早速ご回答頂き誠にありがとうございます。
お教え頂いたスクリプトで無事複数のチェックボックス群を同ページに
置く事ができました。ありがとうございます。
チェックボックス郡を配置したいページはCGIを使用したメールフォームでして、
<form>~</form>タグの間にお教え頂いたスクリプトを置きたいと思っています。
お教え頂いたスクリプトはSAMPLE1とSAMPLE2でそれぞれに<form>タグがあ
るのですが、これをFORMタグひとつで動作させることはできるものなのでしょうか?
もし差し支えなければ、お教え頂けると幸いです。
よろしくお願い致します。
イメージしているスクリプトです。
<form id="sample" action="./mail.cgi" onclick="test(event, '1');" onSubmit="return Check(this)">
<label for="a1"><input name="radiolike1" id="a1" type="checkbox" value="0">Item11</label>
<label for="a2"><input name="radiolike1" id="a2" type="checkbox" value="1">Item12</label>
<label for="a3"><input name="radiolike1" id="a3" type="checkbox" value="2">Item13</label>
<label for="c1"><input name="radiolike2" id="c1" type="checkbox" value="0">Item21</label>
<label for="c2"><input name="radiolike2" id="c2" type="checkbox" value="1">Item22</label>
<label for="c3"><input name="radiolike2" id="c3" type="checkbox" value="2">Item23</label>
※submit用のタグです
<input type="image" src="img/btn.gif">
</form>
No.3
- 回答日時:
ラジオボタンはチェックが外せないからいやだということかな?
こんなかんじで・・・
<script>
function test(obj) {
var f=obj.form;
for(var i=0;i<f.length;i++ ){
if(f[i].type=="checkbox" && f[i]!=obj) f[i].checked=false;
}
}
</script>
<form id="SAMPLE" action="#">
<label for="c1"><input name="radiolike" id="c1" type="checkbox" value="0" onclick="test(this)">Item1</label>
<label for="c2"><input name="radiolike" id="c2" type="checkbox" value="1" onclick="test(this)">Item2</label>
<label for="c3"><input name="radiolike" id="c3" type="checkbox" value="2" onclick="test(this)">Item3</label>
</form>
早速ご回答頂きありがとうございました。
実現したいのは、ANo.4でお答え頂いた内容でした。
私の説明不足でご迷惑をおかけ致しました。誠に申し訳ありません。
お教え頂いたスクリプトは私が見つけたスクリプトとはまた違うよ
うなので、こちらのスクリプトも参考にさせて頂きたいと思います。
ありがとうございます。

No.1
- 回答日時:
チェックボックスは本来複数選択するものです。
ひとつだけしか選択しないんでしたら、ラジオボタンを使ってみては??
<form name="SAMPLE">
<input type="radio" name="radiolike" value="0">Item1<br>
<input type="radio" name="radiolike" value="1">Item2<br>
<input type="radio" name="radiolike" value="2">Item3<br>
</form>
これだと、JavaScriptがいりませんね^^
参考URL:http://www.tagindex.com/html_tag/form/input_radi …
早速ご回答頂き誠にありがとうございます。
そうですね。
本来のチェックボックスの使い方ではないので、ラジオボタン
の使用も考慮させて頂きたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
配列のチェックボックスをjavas...
-
【jsp/Java】チェックボックス...
-
チェックボックスが複数ある場...
-
checkboxの文字連結の方法を教...
-
Objective-Cでチェックボックス...
-
チェックボックスのON/OFFでVal...
-
チェックした数でメッセージを...
-
フォームのチェックボックスの...
-
オフになっているチェックボッ...
-
チェックボックス
-
削除確認のアラートを出したい
-
背景色を変えて未入力チェック...
-
jquery複数のcheckboxの値について
-
return trueとreturn falseの用...
-
HTMLの表示内容にfor文を使...
-
Selectボックスの幅を自動で広...
-
JavaScriptのfileオブジェクト...
-
プルダウンメニューのvalue値を...
-
ラジオボタンにタブインデック...
-
表の値をすべて書き込みたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックスのON/OFFでVal...
-
【jsp/Java】チェックボックス...
-
チェックボックスの設定
-
オフになっているチェックボッ...
-
スクリプト内でチェックボック...
-
背景色を変えて未入力チェック...
-
確認ページからフォームページ...
-
チェックが入っていなかったら...
-
JSP内で可変するチェックボック...
-
チェックボックスで指定したも...
-
チェックボックス可否条件記述...
-
checkboxをクリックしてリロー...
-
チェックボックスを使って条件検索
-
javascript checkbox
-
チェックボックスで選択したも...
-
チェックボックスに全てチェッ...
-
チェックボックスに連動するテ...
-
チェックボックスの値を変数に ...
-
一方のチェックボックスのON/OF...
-
チェックボックスの値を取り出...
おすすめ情報