0

これを単純化しようとすると問題が発生します。jQuery にはまだ少し慣れていないので、これが単純なものである場合はご容赦ください。

クリックイベントを介してフォームを送信する際に AJAX リクエストを設定しました。ただし、送信時にページをリロードするだけでなく、「Enter」キーも機能する必要があります。

これは私が取り組んでいるものです:

$('#submit').click(function() {
     //Do AJAX Stuff
});

$('#submit').keydown(function (e){
if(e.keyCode == 13){
     //Do AJAX Stuff
}
})

私が言おうとしているのは、同じ AJAX リクエストに対してこれら 2 つの関数を組み合わせることができるかということです。

4

2 に答える 2

3

submitハンドラーをフォームにバインドするだけです(送信ボタンではありません)。これらすべてのケースを処理します。

$('#your_form').submit(function(e) {
    var $this = $(this);
    e.preventDefault(); // Prevents the form from submitting regularly

    $.ajax({            // Sends the appropriate AJAX request instead
        url: $this.attr('action'),
        type: $this.attr('method'),
        data: $this.serialize(),
        success: function(response) {
            alert(response);
        }
    });
});
于 2012-10-30T21:47:24.707 に答える
0

on()イベントバインダーを使用できます:

$('#submit').on("click keydown", function(e){
    if(e.keyCode == 13 || e.type == "click"){
         //Do AJAX Stuff
    }        
})
于 2012-10-30T21:47:17.857 に答える