java script フォームのチェックボックス入力制限について
どなたかお教えください。
以下のコードを書き換えて、現状では1つのチェックボックスを複数にし(かつ、複数選択可にし)、チェックボックスをチェックした場合のみ「選択肢」ラジオボタンがアクティブになる仕様にしたいと考えております。
サイト上で見つけたサンプルコードをいじっているのですが、何分素人なのでうまく行きません。どなたか助けていただけると助かります。
よろしくお願いします。
<script type="text/javascript">
function fchk3(obj){
var frm=obj.form;
var len=frm.elements.length;
if(obj.checked==true){
for(var i=0; i<len; i++){
if(frm.elements[i].type=="radio"){
frm.elements[i].disabled=false;
}
}
}else{
for(var i=0; i<len; i++){
if(frm.elements[i].type=="radio"){
frm.elements[i].checked=false;
frm.elements[i].disabled=true;
}
}
}
}
</script>
<form name="form3" action="#">
<label for="chk3"><input type="checkbox" id="chk3" name="chk3" onclick="fchk3(this)" checked="checked" />このボタンのチェックを外すとラジオボタンが無効化</label><br />
<label for="chk3_r1"><input type="radio" id="chk3_r1" name="r1" />選択肢</label>
</form>
No.2ベストアンサー
- 回答日時:
下のようにグループごとにまとめて同じ<label>内に格納してしまって、
<form name="form3" action="#">
<label for="chk1">
<input type="checkbox" id="chk1" name="chk1" onclick="fchk(this)" checked="checked">
このボタンのチェックを外すとラジオボタンが無効化<br>
<label for="chk1_r1"><input type="radio" id="chk1_r1" name="r1">選択肢</label>
<label for="chk1_r2"><input type="radio" id="chk1_r2" name="r1">選択肢</label>
<label for="chk1_r3"><input type="radio" id="chk1_r3" name="r1">選択肢</label>
</label>
<br>
<label for="chk2">
<input type="checkbox" id="chk2" name="chk2" onclick="fchk(this)" checked="checked">
このボタンのチェックを外すとラジオボタンが無効化<br>
<label for="chk2_r1"><input type="radio" id="chk2_r1" name="r1">選択肢</label>
<label for="chk2_r2"><input type="radio" id="chk2_r2" name="r1">選択肢</label>
<label for="chk2_r3"><input type="radio" id="chk2_r3" name="r1">選択肢</label>
</label>
<br>
<label for="chk3">
<input type="checkbox" id="chk3" name="chk3" onclick="fchk(this)" checked="checked">
このボタンのチェックを外すとラジオボタンが無効化<br>
<label for="chk3_r1"><input type="radio" id="chk3_r1" name="r1">選択肢</label>
<label for="chk3_r2"><input type="radio" id="chk3_r2" name="r1">選択肢</label>
<label for="chk3_r3"><input type="radio" id="chk3_r3" name="r1">選択肢</label>
</label>
</form>
SCRIPTは下のようにしてはどうでしょう(全角空白は半角空白にして!)
<script type="text/javascript">
function fchk(obj){
var input=obj.parentNode.getElementsByTagName("input");
var len=input.length;
if(obj.checked==true){
for(var i=0; i<len; i++){
if(input[i].type=="radio"){
input[i].disabled=false;
}
}
}else{
for(var i=0; i<len; i++){
if(input[i].type=="radio"){
input[i].checked=false;
input[i].disabled=true;
}
}
}
}
</script>
No.1
- 回答日時:
たとえばチェックボックスの名前を一緒にして、こんな風にやるとどうでしょう?
<script>
function checkfunc(obj){
var check_flg=true;
var f=obj.form;
for (var i=0;i<f.length;i++){
if(f[i].name==obj.name && f[i].checked){
check_flg=false;
break;
}
}
for (var i=0;i<f.length;i++){
if(f[i].type=="radio"){
f[i].disabled=check_flg;
}
}
}
</script>
<form>
<input type="checkbox" name="ch[]" onclick="checkfunc(this)" />ch1
<input type="checkbox" name="ch[]" onclick="checkfunc(this)" />ch2
<input type="checkbox" name="ch[]" onclick="checkfunc(this)" />ch3
<input type="radio" name="r1" disabled />ra1
<input type="radio" name="r1" disabled />ra2
<input type="radio" name="r1" disabled />ra3
</form>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript javascriptのちょっとした動作不良(原因は突き止めたのですが) 1 2023/06/15 19:58
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
データベースの値を判断してラ...
-
ラジオボタンの値でリンク先を...
-
radio選択をクッキーに保存させ...
-
複数のラジオボタンのチェック
-
チェックボックスのON/OFFに連...
-
ラジオボタンのリセット方法
-
サイト内にGoogleサイトを表示...
-
ラジオボタンのチェック数に応...
-
ラジオボタンのValueを受け取り...
-
診断サイトの作り方
-
ラジオボタンで入力フィールド...
-
ラジオボタンにタブインデック...
-
ラジオボタン未チェックの場合...
-
(jQuery)ラジオボタン選択値を...
-
フォーム内容を上から順番にJav...
-
return trueとreturn falseの用...
-
プルダウン 項目が多いので先頭...
-
複数のselect値で1つも選択され...
-
プルダウンで選択すると、DBの...
-
テキストエリアに履歴を残したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンにタブインデック...
-
Jvasvriptのlengthで個数が取得...
-
ホームページ作成について。
-
データベースの値を判断してラ...
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンでdisabledとchecked
-
Form内のselectを連動させるに...
-
アンダーバーのname値は取得で...
-
チェックされたラジオボタンに...
-
jQueryで複数のラジオボタンを処理
-
ラジオボタンのリセット方法
-
ラジオボタンの分岐方法に関して
-
javascriptによる動的なリンク...
-
radio選択をクッキーに保存させ...
-
JavaScriptでラジオボタンのチ...
-
jQuery 変数の使い方について
-
チェックボックスのON/OFFに連...
-
ラジオボタンでチェックした項...
おすすめ情報