- カウンター
- 大ベテラン
- 会議室デビュー日: 2004/02/19
- 投稿数: 123
|
投稿日時: 2004-10-05 13:06
JSPでJavaScriptを使って、EnterKey制御をしています。
Formタグの中のテキストボックスでEnterKeyを押した場合に、同Form内の実行ボタンに
フォーカスを移したいのですが、フォーカスが移った直後にSubmitされてしまいます。
ボタンsubmitではなくbuttonにしてますが、EnterKeyに反応してしまいます。
また、オートコンプリートをOFFにしてみましたがだめでした。
完全にJavaScriptの話のような気がしますが、よろしくお願いします。
コード: |
|
<!--
function okd(){
if((window.event.keyCode==13) || (window.event.keyCode==9)){
if(event.srcElement.name=="input"){
if(window.event.keyCode==13){
document.form1.sbm.focus();
}
}else if(event.srcElement.name=="sbm"){
if(window.event.keyCode==13){
document.form1.sublit();
}
}
}
}
// -->
</script>
<form name="form1" onKeyDown="okd()" method="post">
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#666666">
<tr align="center">
<td width="350" align="center">入力フィールド</td>
</tr>
<tr align="center">
<td width="350" height="20" align="right">
<div align="right">
<input name="input" type="text" id="txtinput" size="70" tabindex="11">
</div>
</td>
<input type="hidden" name="updrow" value="0">
</tr>
</table>
</td>
<td>
<table border="0" cellpadding="5">
<tr valign="bottom">
<td>
<input type="button" onClick="formUpdata();" name="sbm" tabindex="12" value="実行">
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
|
[ メッセージ編集済み 編集者: カウンター 編集日時 2004-10-05 13:14 ]
|
- コブラ
- ぬし
- 会議室デビュー日: 2003/07/18
- 投稿数: 1038
- お住まい・勤務地: 神奈川
|
投稿日時: 2004-10-05 13:10
タブキーをフォーカス移動に割り当ててみるとか・・・
|
- カウンター
- 大ベテラン
- 会議室デビュー日: 2004/02/19
- 投稿数: 123
|
投稿日時: 2004-10-05 13:27
コブラさん、ありがとうございます。
以下のようにタブキーにフォーカス移動を割り当ててみたのですが、結果は同じでした。
ちなみに、最初の投稿の状態でタブキーによるフォーカス移動は問題なく動いています。
コード: |
|
if(event.srcElement.name=="input"){
if(window.event.keyCode==13){
document.form1.sbm.focus();
}else if(window.event.keyCode==9){
document.form1.sbm.focus();
}
}
|
|
- コブラ
- ぬし
- 会議室デビュー日: 2003/07/18
- 投稿数: 1038
- お住まい・勤務地: 神奈川
|
投稿日時: 2004-10-05 14:00
素人考えで申し訳無い。
コード: |
| if(event.srcElement.name=="input"){
<!---- タブでフォーカス移動してるから、もうこのコードは要らんのでは?
if(window.event.keyCode==13){
document.form1.sbm.focus();
}else
---!>
if(window.event.keyCode==9){
document.form1.sbm.focus();
}
}
|
どうでっしゃろ?
|
- カウンター
- 大ベテラン
- 会議室デビュー日: 2004/02/19
- 投稿数: 123
|
投稿日時: 2004-10-05 14:11
引用: |
|
コブラさんの書き込み (2004-10-05 14:00) より:
素人考えで申し訳無い。
コード: |
| if(event.srcElement.name=="input"){
<!---- タブでフォーカス移動してるから、もうこのコードは要らんのでは?
if(window.event.keyCode==13){
document.form1.sbm.focus();
}else
---!> if(window.event.keyCode==9){
document.form1.sbm.focus();
}
}
|
どうでっしゃろ?
|
こぶらさん、たびたびありがとうございます。
EnterKeyでもフォーカス移動したいので、必要なんです。
|
- soluna
- ベテラン
- 会議室デビュー日: 2004/06/15
- 投稿数: 59
|
投稿日時: 2004-10-05 14:17
このスレッドに書いてある方法を参考にしてみれば?
|
- カウンター
- 大ベテラン
- 会議室デビュー日: 2004/02/19
- 投稿数: 123
|
投稿日時: 2004-10-05 14:48
引用: |
|
solunaさんの書き込み (2004-10-05 14:17) より:
このスレッドに書いてある方法を参考にしてみれば?
|
ありがとうございます。
あわせてこのスレッドを参考に解決しました。
FormにonSubmit="return false"を追加して、入力項目でEnterKeyが押されたときに
フォーカス移動してからFormにfalseを返すようにしました。
|