Enter キーでのフォーカス移動
- 題名: Enter キーでのフォーカス移動
- 著者: こう
- 日時: 2006/01/31 16:58:07
- ID: 14776
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: Enter キーでのフォーカス移動
- 著者: こう
- 日時: 2006/01/31 17:00:08
- ID: 14777
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: Enter キーでのフォーカス移動
- 著者: Moo
- 日時: 2006/02/08 12:56:01
- ID: 14923
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[ASP.NET]
いつもお世話になります。
今回はEnterキーでのフォーカス移動について教えて欲しいのですが
概要:ASP.NET においてEnterキーにてフォーカスを移動する。
やったこと:インターネットでこの関連の記事を探し
HTML
<FORM id="Form1" onkeydown="if(event.keyCode==13){if(window.event.srcElement.type=='text'){return false;}}"
method="post" runat="server">
と指定し
javascriptのファイルに
window.document.onkeydown = fnc_goNext;
var nextObj = "";
var nextObj1 = "";
function fnc_setNext(strName,strName1){
nextObj = strName;
nextObj1 = strName1;
}
function fnc_goNext(){
if (event.keyCode == 13){
if(nextObj != ""){
if(document.Form1.elements(nextObj)){
document.Form1.elements(nextObj1).select();
document.Form1.elements(nextObj1).focus();
}
}
}
}
上記を記述し
VBのページロード
If Not IsClientScriptBlockRegistered("clientScript") Then
Dim scpt As String = "<SCRIPT language='JavaScript' src='Enter.js'></SCRIPT>"
RegisterClientScriptBlock("clientScript", scpt)
End If
Me.TextBox1.Attributes("onactivate") = "fnc_setNext('TextBox1','TextBox2');"
Me.TextBox2.Attributes("onactivate") = "fnc_setNext('TextBox2','TextBox3');"
If Not IsClientScriptBlockRegistered("clientScript") Then
Dim scpt As String = "<SCRIPT language='JavaScript' src='Enter.js'></SCRIPT>"
RegisterClientScriptBlock("clientScript", scpt)
End If
Me.TextBox1.Attributes("onactivate") = "fnc_setNext('TextBox1','TextBox2');"
Me.TextBox2.Attributes("onactivate") = "fnc_setNext('TextBox2','TextBox3');"
に上記を記述したのですが、この実装だとtextbox1でEnter押下した時も
textbox2でEnter押下した時もtextbox3にフォーカスがいってしまいます。
うまくEnterでフォーカス移動するにはどうすればよいのでしょうか??
他の方法でもよいのでいい方法があれば宜しくお願いします。