中の技術日誌
 

テキストボックスなどでEnterを押したときに1つ目のsubmitボタンを動作させたくない

2005/05/21

この文書はWindows XP SP2+IE6をベースに記述されています。

Internet ExplorerではFormの中で最初のsubmitボタンが押されたことになります。

また、テキストボックスがひとつしかない場合にEnterを押すとなぜかもう一度画面をリフレッシュしようとしてしまいます。

どのような動きをするのかのサンプルは以下のような感じです。

ボタンが二つある場合の一つ目を押した動作をする

これを無効にするにはEnterキーの動きを判断して無効化するしかありません

サンプル

ソース

 

<script type="text/javascript">
function funcformonkeydown(){
  //ENTERによるイベント発火を防ぐ
  var src = window.event.srcElement;
  if(event.keyCode == 13) {
    if (src.type == '' ) {
      src.click();
    } else if (src.type != 'submit'
      && src.type != 'button'
      && src.type != 'textarea' ) {
      return false;
    }
  }
}
</script>

<form action="" onkeydown="javascript:return funcformonkeydown();">
<input type="text"><input type="submit"><input type="submit">
</form>

勉強会: 01/12 大阪#5, 02/03 東京#4 , 02/10 大阪#6 登録受付中

中の技術日誌
コンテンツ
わんくま同盟
わんくま同盟
わんくま同盟
広告
バナー
MVP LOGO
MSMVP Visual C# Since 2004/04-2007/03
MCP LOGO
070-316
姉妹サイト
姉妹サイト:じゃんぬのC#, VB.NET 入門
じゃんぬの
C#, VB.NET 入門
検索
Google

ブログ本家
広告