テキストボックスなどで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>