ユーザーがEnterキーを押してフォームを送信できないようにする質問する

ユーザーがEnterキーを押してフォームを送信できないようにする質問する

ウェブサイトにアンケートがあるのですが、ユーザーが Enter キーを押し(理由はわかりません)、送信ボタンをクリックせずにアンケート(フォーム)を誤って送信してしまうという問題が発生しているようです。これを防ぐ方法はありますか?

調査では HTML、PHP 5.2.9、jQuery を使用しています。

ベストアンサー1

次のような方法を使うことができます

$(document).ready(function() {
  $(window).keydown(function(event){
    if(event.keyCode == 13) {
      event.preventDefault();
      return false;
    }
  });
});

元の投稿のコメントを読んで、より使いやすくし、Enterすべてのフィールドを完了した場合にユーザーが押せるようにするには、次の操作を行います。

function validationFunction() {
  $('input').each(function() {
    ...

  }
  if(good) {
    return true;
  }
  return false;
}

$(document).ready(function() {
  $(window).keydown(function(event){
    if( (event.keyCode == 13) && (validationFunction() == false) ) {
      event.preventDefault();
      return false;
    }
  });
});

おすすめ記事