web-dev-qa-db-ja.com

送信ボタンなしでEnterキーを使用してフォームを送信しますか?

可能性のある複製:
HTML:送信ボタンなしでEnterキーを押してフォームを送信する

送信ボタンを追加せずに、テキスト入力フィールドのEnterキーだけでフォームを送信するにはどうすればよいですか?

これは過去に機能していたことを覚えていますが、今テストしたところ、フォームに送信タイプの入力フィールドがない限り、フォームは送信されません。

112
Alex
$("input").keypress(function(event) {
    if (event.which == 13) {
        event.preventDefault();
        $("form").submit();
    }
});
204
timmah.faase

#formをフォームのIDに変更します

$('#form input').keydown(function(e) {
    if (e.keyCode == 13) {
        $('#form').submit();
    }
});

または代わりに

$('input').keydown(function(e) {
    if (e.keyCode == 13) {
        $(this).closest('form').submit();
    }
});
47
Jay Gilford

Jay Gilfordの答えは機能しますが、本当に簡単な方法は、フォームの送信ボタンでdisplay: none;を叩くだけだと思います。

14
Brian Glaz

@JayGuilfordの答えは良いものですが、JS依存関係が必要ない場合は、submit要素を使用し、display: none;を使用して単純に非表示にすることができます。

5
FtDRbwLXw6