- 納涼床
- ベテラン
- 会議室デビュー日: 2006/06/28
- 投稿数: 53
- お住まい・勤務地: 京都市下京区
|
投稿日時: 2007-01-29 17:49
Katzeさん>
「textboxA.Attributes.Add("onKeyDown", "procNextCtrl(event);") 」の記述は
Page_Loadのところでよろしいでしょうか?
msoさん>
ブラウザのバージョンはwindows xp SP2に組み込まれている
「IE6.0.2900.2180」です。
|
- 納涼床
- ベテラン
- 会議室デビュー日: 2006/06/28
- 投稿数: 53
- お住まい・勤務地: 京都市下京区
|
投稿日時: 2007-01-29 18:10
「textboxA.Attributes.Add("onKeyUp", "procNextCtrl(event);") 」を
Page_Loadの箇所に記述してテストしたところ、うまく動作しました。
アドバイスありがとうございました。
|
- Jitta
- ぬし
- 会議室デビュー日: 2002/07/05
- 投稿数: 6267
- お住まい・勤務地: 兵庫県・海手
|
投稿日時: 2007-01-29 22:07
http://www.dart.com/expanded/livecontrols.aspx?source=aspnetfeature
使用するツールの出所は、示して欲しい。
このページをチラ見しただけですが、この TextBox のサーバ側イベントに、onkeydown が存在しているのではないでしょうか。その為、HTML 上に書いた "onkeydown" が、サーバコード側のイベント ハンドラと認識されたのでしょう。
_________________
|
- ごろう
- ベテラン
- 会議室デビュー日: 2006/12/06
- 投稿数: 50
- お住まい・勤務地: 神奈川県横浜市 横浜駅の海方面
|
投稿日時: 2007-10-23 14:41
結構前のスレッドですが、内容が同じなので、
新たにスレッドを追記させていただきます。
引用: |
|
Katzeさんの書き込み (2007-01-29 10:49) より:
コード: |
|
<html>
<head>
<script language="javascript">
<!--
function procNextCtrl(e){
var c = e.keyCode;
if( c == 13 ){
document.all.item("textboxB").focus();
}
}
//-->
</script>
</head>
<body>
<input type="text" name="textboxA" value="" onKeyDown="procNextCtrl(event);"><br>
<input type="text" name="textboxB" value="">
</body>
</html>
|
|
上記のコードを少し変えて、
・テキストボックスに3文字以上入力されたら
→ボタンにフォーカスを移動する。
という事をやろうとしたのですが、
テキストボックスをクリックするだけで、
ボタンにフォーカスが移動してしまっています(ボタンが青くなっている)。
ちなみに、
3文字以上入力した場合にEnterを押下すると、
ボタンを押下してしまいます。
フォーカス遷移だけはできないのでしょうか?
よろしくお願いします。
コード: |
|
<script language="javascript">
function setFocus(e){
var c = e.keyCode;
if(13 == c) {
n = document.Form1.txtNo.value.length;
if(3 <= n){
document.all('btnCommit').focus();
} else {document.all('txtNo').focus();
return false;
}
}
}
</script>
</HEAD>
--中略--
<TD>
<asp:textbox id="txtNo" runat="server" Width="193px" onKeyDown="setFocus(event)"></asp:textbox>
<asp:Button id="btnCommit" runat="server" Text="実行"></asp:button>
</TD>
|
|
- Jitta
- ぬし
- 会議室デビュー日: 2002/07/05
- 投稿数: 6267
- お住まい・勤務地: 兵庫県・海手
|
投稿日時: 2007-10-23 20:59
onkeydown="return true;"
と
onkeydown="return false;"
とで、どうかわるかやってみる
それらとの違いを考える
|
- ごろう
- ベテラン
- 会議室デビュー日: 2006/12/06
- 投稿数: 50
- お住まい・勤務地: 神奈川県横浜市 横浜駅の海方面
|
投稿日時: 2007-10-23 21:11
引用: |
|
Jittaさんの書き込み (2007-10-23 20:59) より:
onkeydown="return true;"
と
onkeydown="return false;"
とで、どうかわるかやってみる
それらとの違いを考える
|
onkeydown="return false;"
でできました。
ありがとうございました。
|
- Jitta
- ぬし
- 会議室デビュー日: 2002/07/05
- 投稿数: 6267
- お住まい・勤務地: 兵庫県・海手
|
投稿日時: 2007-10-24 07:50
引用: |
|
ごろうさんの書き込み (2007-10-23 21:11) より:
引用: |
|
Jittaさんの書き込み (2007-10-23 20:59) より:
onkeydown="return true;"
と
onkeydown="return false;"
とで、どうかわるかやってみる
それらとの違いを考える
|
onkeydown="return false;"
でできました。
ありがとうございました。
|
ほんまかいな!?
入力検証はどないしたん??
Enter押してサブミットされへんからOKとか、短絡的に考えてへん?
|
- ごろう
- ベテラン
- 会議室デビュー日: 2006/12/06
- 投稿数: 50
- お住まい・勤務地: 神奈川県横浜市 横浜駅の海方面
|
投稿日時: 2007-10-24 15:03
引用: |
|
Jittaさんの書き込み (2007-10-24 07:50) より:
引用: |
|
ごろうさんの書き込み (2007-10-23 21:11) より:
引用: |
|
Jittaさんの書き込み (2007-10-23 20:59) より:
onkeydown="return true;"
と
onkeydown="return false;"
とで、どうかわるかやってみる
それらとの違いを考える
|
onkeydown="return false;"
でできました。
ありがとうございました。
|
ほんまかいな!?
入力検証はどないしたん??
Enter押してサブミットされへんからOKとか、短絡的に考えてへん?
|
その後、いろいろやってみた結果、
textBoxのプロパティにonKeyDown="setFocus(event)"
として、
JavaScriptで
function setFocus(e){
var c = e.keyCode;
if(13 == c) {
n = document.Form1.txtBox.value.length;
if(3 <= n){
event.returnValue=false
document.Form1.btnCommit.focus();
}}}
とやって、できるようになりました。
ありがとうございました。
|