
<LABEL><INPUT type="radio" id="a" value="0" checked>すべて</LABEL><BR>
<LABEL><INPUT type="radio" id="a" value="1">一部</LABEL><BR>
<LABEL><INPUT type="radio" id="a" value="2">なし</LABEL><BR>
<LABEL><INPUT type="radio" id="b" value="0" checked>すべて</LABEL><BR>
<LABEL><INPUT type="radio" id="b" value="1">一部</LABEL><BR>
<LABEL><INPUT type="radio" id="b" value="2">なし</LABEL><BR>
<LABEL><INPUT type="radio" id="c" value="0" checked>すべて</LABEL><BR>
<LABEL><INPUT type="radio" id="c" value="1">一部</LABEL><BR>
<LABEL><INPUT type="radio" id="c" value="2">なし</LABEL><BR>
・・・
のようにラジオボタンがグループ別に並んでいる場合に
Enterキーを押したときにフォーカスが次のラジオボタングループの
チェックが入ったラジオボタンにフォーカスを移動したいのですが、
何かいい方法はないでしょうか?
No.1ベストアンサー
- 回答日時:
pentaro_2000さんの質問を見て、初めて知りましたけど、HTMLの機能では、ENTERキーを押下されても、フォーカスが次の場所へ移動することは無いんですね
少し調べて見ましたが、HTMLだけではENTERキーによるフォーカス移動は出来ないみたいなので、JavaScriptにてラジオボタンのみフォーカスの移動が出来るモジュールを組んで見ました。
一つの例として、以下のソースを書いておきますが、「良いソースコード」とは、決して言えません。
サッと作った物なので、IEのみの対応となっています^^;
説明:
focusChange関数の引数で、現在フォーカスを保持しているオブジェクトを渡し、関数内処理で、そのオブジェクト以降に存在するオブジェクトの中でチェックが付いているオブジェクトを検索し、そのオブジェクトにフォーカスが移る作りになっています。
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
// 注) IEのみ対応
// 指定したオブジェクトのIDを取得する
function getElementID( obj ) {
var k;
for( k = 0; k < document.all.length; k++ ) {
// オブジェクト比較し、検索を掛ける
if( document.all(k) == obj ) return k;
}
return -1;
}
function focusChange( obj ) {
var id;
var k;
// keyCode:13=ENTERキー押下時
if( event.keyCode == 13 ) {
id = getElementID(obj);
for( k = id + 1; k < document.all.length; k++ ) {
// ID番目以降でチェックが付いているオブジェクトを検索
if( document.all(k).checked ) {
document.all(k).focus();
break;
}
}
}
}
//-->
</SCRIPT>
</HEAD>
<BODY>
<LABEL FOR="a"><INPUT type="radio" id="a" name="a" value="0" onKeyPress="focusChange(this);" checked>すべて</LABEL><BR>
<LABEL FOR="b"><INPUT type="radio" id="b" name="a" value="1" onKeyPress="focusChange(this);">一部</LABEL><BR>
<LABEL FOR="c"><INPUT type="radio" id="c" name="a" value="2" onKeyPress="focusChange(this);">なし</LABEL><BR>
<LABEL FOR="d"><INPUT type="radio" id="d" name="b" value="0" onKeyPress="focusChange(this);" checked>すべて</LABEL><BR>
<LABEL FOR="e"><INPUT type="radio" id="e" name="b" value="1" onKeyPress="focusChange(this);">一部</LABEL><BR>
<LABEL FOR="f"><INPUT type="radio" id="f" name="b" value="2" onKeyPress="focusChange(this);">なし</LABEL><BR>
</BODY>
</HTML>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
ラジオボタンで選択した項目の...
-
<input>の選択肢をプルダウンメ...
-
Selectボックスの幅を自動で広...
-
javaScriptの変数をJavaの変数...
-
JavaScriptのfileオブジェクト...
-
<JavaScript>tableタグを入力不...
-
ASP.NETでNAME属性を固定にしたい
-
RegularExpressionValidatorの...
-
クリックされた罫表セルの行番...
-
同じ名前のセレクトがある場合...
-
onchangeイベントを強制的に発...
-
プルダウンで選択された値を別...
-
二次元配列に数字をランダムに...
-
sessionの値でボタンを活性・非...
-
JQueryで2つのテキストフィー...
-
cookie使用時にundefinedと表示...
-
doPostBack 関数について
-
【FORM】 リンク文字で submit...
-
tableの任意行にfocusをあてる
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
javascriptを使ってラジオボタ...
-
データベースの値を判断してラ...
-
Form内のselectを連動させるに...
-
JavaScriptでラジオボタンのチ...
-
ラジオボタンのチェックが外れ...
-
javascript 複数のラジオボタン...
-
ラジオボタンでチェックした項...
-
javascript作成してます。ラジ...
-
javascriptについて教えてください
-
javascriptによる動的なリンク...
-
ラジオボタン未チェックの場合...
-
JavaScriptで小数点も含めた複...
-
ラジオボタンでの動的項目の変...
-
チェックボックスとテキストボ...
-
チェックボックスのON/OFFに連...
-
ラジオボタンとif文
-
radio選択をクッキーに保存させ...
-
ラジオボタンの未選択チェック...
-
ラジオボタンのチェック数に応...
おすすめ情報