プロが教える店舗&オフィスのセキュリティ対策術

いまphpとjavascript、データベースはSQLiteで、
データ入力画面を作成しています。
キーボードのENTERを押すとINPUTタグの「保存」のボタンに進んで、ボタンがクリックされた形になってしまいます。
TABでも、ENTERでも次の入力スペースへカーソルが
進むようにしたいのですが、
何か方法はありますでしょうか。

初心者で申し訳ありません。
どうぞよろしくお願いいたします。

A 回答 (3件)

http://qa.mapion.co.jp/qa4971259.html
で投稿されてました。

この回答への補足

説明不足で申し訳ありません。
質問にも書いたのですが、
「TABでも、ENTERでも次の入力スペースへカーソルが
進むようにしたい」のですがどのようにしたらよろしいでしょうか。

お教えいただいた質問ページは“Enter”の“無効化”のようなのですが。。。。。。。

補足日時:2009/07/14 09:15
    • good
    • 0

#1様の回答の意図するところは…



『enterを押すと(通常は)submitされるので、enterを無効化して、次の
 elementにfocus()してあげれば良い。
 ↑の前半の方法がわかれば、後半は問題なくできるであろう 』

ということではないのかな?
    • good
    • 0

onKeypressのイベントハンドラーで、エンターキーのキーコード(13)をタブキーのキーコード(9)に変えてしまうのを追加する。


下のように変えればよさそうだが、限定コンパイル構文がよくわからん。

document./*@if(1) attachEvent( 'on' + @else@*/ addEventListener( /*@end@*/ 'keypress', function( evt ) {
 var target = evt./*@if(1) srcElement @else@*/ target /*@end@*/;
 var keyCode = evt./*@if(1) keyCode @else@*/ which /*@end@*/;
 if( /text/i.test( target.type ) && keyCode == 13 ) {
  /*@if(1) evt.keyCode = 9; @else@*/ evt.preventDefault( ); /*@end@*/
 }
}, false );

タグにtabindexをセットすれば、自分でフォーカスしなくてもよいのでは。
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考になりました。

お礼日時:2009/07/24 19:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!