radio1~radio3のいずれか「はい」を選択すると、
その他が強制的に「いいえ」に切り替わるスクリプトはどのように作成すればよろしいでしょうか?
<INPUT TYPE=radio NAME="radio1" VALUE="1">はい
<INPUT TYPE=radio NAME="radio1" VALUE="2">いいえ
<INPUT TYPE=radio NAME="radio2" VALUE="1">はい
<INPUT TYPE=radio NAME="radio2" VALUE="2">いいえ
<INPUT TYPE=radio NAME="radio3" VALUE="1">はい
<INPUT TYPE=radio NAME="radio3" VALUE="2">いいえ
No.2ベストアンサー
- 回答日時:
寝ぼけてた。
<form>
<p>
<input type="radio" name="radio1" value="1" class="gp0">はい
<input type="radio" name="radio1" value="2" class="gp0" checked>いいえ
</p>
<p>
<input type="radio" name="radio2" value="1" class="gp0">はい
<input type="radio" name="radio2" value="2" class="gp0" checked>いいえ
</p>
<p>
<input type="radio" name="radio3" value="1" class="gp0">はい
<input type="radio" name="radio3" value="2" class="gp0" checked>いいえ
</p>
</form>
<script type="text/javascript">
//@cc_on
var grp = 'gp0';
var reg = new RegExp('\\b' + grp + '\\b');
var elms = document.getElementsByTagName('input');
var o, objs = [], cnt = 0;
while (o = elms[cnt++]) if (o.className && o.className.match(reg)) objs.push(o);
document./*@if(1)attachEvent('on'+ @else@*/addEventListener(/*@end@*/'click',
function (evt) {
var c = 0;
var e = evt./*@if (1) srcElement @else@*/ target /*@end@*/;
if (!(e.tagName == 'INPUT' && e.type == 'radio')) return;
if (!(e.className && e.className.match(reg))) return;
if (e.value == '1') {
while (o = objs[c++]) o.checked = o.value == '2';
e.checked = true;
}
}
, false);
</script>
でどうでしょう?
ありがとうございます。
動作いたしました。
クリック時にnameとvalue値を見てif文を、と考えてたのですが
こんな方法があるんですね。
調べて見ると//@cc_onを記載すると、IEのみが有効になると記載があったのですが、私の環境ではFFも動作しました。この場合は違った制御をかけているのでしょうか?
勉強不足で申し訳ないです。ご教授頂けると幸いです、
No.4
- 回答日時:
じゃぁclassをつかってグルーピングするとか・・・・
<script>
window.onload=function(){
var tags=document.getElementsByTagName("input");
for(var i=0;i<tags.length;i++){
if(tags[i].type=="radio" && tags[i].value=="1"){
tags[i].onclick=function(){
var f=this.form;
for(var i=0;i<f.length;i++){
if(f[i].type=="radio" && f[i].name!=this.name && this.className==f[i].className){
f[i].checked=(f[i].value=="2");
}
}
}
}
}
}
</script>
<form>
<p>
<INPUT TYPE="radio" class="hoge" NAME="radio1" VALUE="1">はい
<INPUT TYPE="radio" class="hoge" NAME="radio1" VALUE="2">いいえ
<INPUT TYPE="radio" class="hoge" NAME="radio2" VALUE="1">はい
<INPUT TYPE="radio" class="hoge" NAME="radio2" VALUE="2">いいえ
<INPUT TYPE="radio" class="hoge" NAME="radio3" VALUE="1">はい
<INPUT TYPE="radio" class="hoge" NAME="radio3" VALUE="2">いいえ
<INPUT TYPE="radio" NAME="radio4" VALUE="1">はい
<INPUT TYPE="radio" NAME="radio4" VALUE="0">いいえ
</p>
</form>
No.3
- 回答日時:
こんな感じでどうでしょ?
<script>
window.onload=function(){
var tags=document.getElementsByTagName("input");
for(var i=0;i<tags.length;i++){
if(tags[i].type=="radio" && tags[i].value=="1"){
tags[i].onclick=function(){
var f=this.form;
for(var i=0;i<f.length;i++){
if(f[i].type=="radio" && f[i].name!=this.name){
f[i].checked=(f[i].value=="2");
}
}
}
}
}
}
</script>
<form>
<p>
<INPUT TYPE="radio" NAME="radio1" VALUE="1">はい
<INPUT TYPE="radio" NAME="radio1" VALUE="2">いいえ
<INPUT TYPE="radio" NAME="radio2" VALUE="1">はい
<INPUT TYPE="radio" NAME="radio2" VALUE="2">いいえ
<INPUT TYPE="radio" NAME="radio3" VALUE="1">はい
<INPUT TYPE="radio" NAME="radio3" VALUE="2">いいえ
</p>
</form>
ありがとうございます。想定の動作です。
すみません。例えば
<INPUT TYPE="radio" NAME="radio4" VALUE="1">はい
<INPUT TYPE="radio" NAME="radio4" VALUE="0">いいえ
を追加した場合で、name=radio4は上記の動作から除きたい場合はどのようになるのでしょうか?
No.1
- 回答日時:
<INPUT TYPE="radio" NAME="radio1" VALUE="1">はい
<INPUT TYPE="radio" NAME="radio1" VALUE="2">いいえ
<INPUT TYPE="radio" NAME="radio1" VALUE="3">はい
<INPUT TYPE="radio" NAME="radio1" VALUE="4">いいえ
<INPUT TYPE="radio" NAME="radio1" VALUE="5">はい
<INPUT TYPE="radio" NAME="radio1" VALUE="6">いいえ
//後はvalue値で判断できるのでは?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- PHP $_SESSIONについて教えて下さい。 2 2023/03/02 09:18
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
アンダーバーのname値は取得で...
-
ラジオボタンのチェックが外れ...
-
ラジオボタンにタブインデック...
-
ラジオボタンの値でリンク先を...
-
チェックボックスとテキストボ...
-
Jvasvriptのlengthで個数が取得...
-
ラジオボタンをタイトルに
-
データベースの値を判断してラ...
-
javascript作成してます。ラジ...
-
フォームPOST後「戻る」時のチ...
-
jQuery 変数の使い方について
-
チェックされたラジオボタンに...
-
onchangeイベントを強制的に発...
-
プルダウン選択を変更すると、...
-
return trueとreturn falseの用...
-
チェックボックスのON/OFFでVal...
-
<JavaScript>tableタグを入力不...
-
Selectボックスの一覧表示方法
-
select要素のvalueを配列で取得...
-
innerHTML内では改行は禁止?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンでチェックした項...
-
ラジオボタンの値でリンク先を...
-
データベースの値を判断してラ...
-
Form内のselectを連動させるに...
-
フォームPOST後「戻る」時のチ...
-
【診断テストの作り方】結果に...
-
チェックボックスとテキストボ...
-
複数のラジオボタンでの選択で...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
ラジオボタンのリセット方法
-
チェックボックスのON/OFFに連...
-
JavaScript ラジオボタン デ...
-
jQueryで複数のラジオボタンを処理
-
ラジオボタンで診断テストを作...
-
ラジオボタンによる有効なボタ...
-
【javascript】firefoxでの、al...
おすすめ情報