2

他のすべての入力フィールドで通常の動作を維持しながら、1 つのフィールドにフォーカスがあるときに JS/jQuery でフォーム送信を防ぐにはどうすればよいですか?

4

3 に答える 3

7

これを試して:

$('#formID').on('submit', function(){
    if ($('input:focus').length){return false;}
});

これは、クリックせずにフォームを送信しようとすることを前提としています。クリックして送信すると、入力にぼかしイベントが発生し、フォーカスが失われるためです。

そうでなければ、jcubicの答えが必要なものかもしれません。

于 2013-08-22T12:58:18.157 に答える
3

これを使用できます:

var prevent = false;
$('input').focus(function() {
   prevent = true;
}).blur(function() {
   prevent = false;
});

$('form').submit(function() {
   if (prevent) {
      return false;
   }
});
于 2013-08-22T12:59:29.030 に答える
-1
$('form').submit(function(e) {
    e.preventDefault();
});

e.preventdefault()を参照

于 2013-08-22T13:01:37.747 に答える