• ベストアンサー

一部Enter無効化の方法を教えてください!

PHPで作成している画面について、テキストコントロールにフォーカスがある場合に、 Enterキーを押下することで、submitが行われることを無効化させたいと思っています。 <SCRIPT LANGUAGE=javascript> <!-- document.onkeypress = enter; function enter(){ if( window.event.keyCode == 13 ){ return false; } } //--> </SCRIPT> のようなJavaScriptを記述すれば完全にEnterキーを無効にできるようですが、 この状態だと、submitにフォーカスがある状態でEnterキーを押下してもsubmitが実行されません。 この状態を解決する方法をご存知の方、アドバイスをお願いします!! ちなみにブラウザは最低でも、IE6,7とFireFoxには対応したいと思っています。 当方、HTML,PHP,JavaScriptは素人同然ですので、明確な内容で教えて頂けると助かります。 宜しくお願いします!!

質問者が選んだベストアンサー

  • ベストアンサー
  • benelli
  • ベストアンサー率51% (78/152)
回答No.2

すみません、気になったのちょっと横槍を失礼…… 「テキストコントロールのときだけ」無効ならば以下ですね。 <html> <head> <title>テキストがアクティブのときだけエンターきかない</title> </head> <body> <form id="form1" name="form1" action="http://localhost/"> テキストA:<input type="text" name="arrowhead"><BR> チェック:<input type="checkbox" name="delta"><BR> テキストB:<input type="text" name="ladylove"><BR> ラジオ:<input type="radio" name="wavemaster"><BR> セレクト:<select name="morningglory"> <option>セレクト </select><BR> <input type="submit" value="サブミット"><BR> </form> </body> <script type="text/javascript"> <!-- //@cc_on 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.returnValue = false; @else@*/ evt.preventDefault( ); /*@end@*/  } }, false ); //--> </script> </html> 違う部分を探せば分かると思いますが、今後の学習などの参考になればと思い投稿いたしました。

hiro_sun
質問者

お礼

細かい回答ありがとうございました! 無事対応できました!

その他の回答 (2)

回答No.3

よこやりによこやり。 いとしないときに、まちがって えんた~をたたくと とんでしまうよ~。なので・・・。ばぶ。

  • yuu_x
  • ベストアンサー率52% (106/202)
回答No.1

<script type="text/javascript"> <!-- //@cc_on 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( !/submit/i.test( target.type ) && keyCode == 13 ) {   /*@if(1) evt.returnValue = false; @else@*/ evt.preventDefault( ); /*@end@*/  } }, false ); //--> </script>

hiro_sun
質問者

お礼

ありがとうございました! 無事対応できました!!

関連するQ&A