Ajax发送HTTP请求两次?

时间:2013-05-25 12:34:43

标签: javascript jquery function http

到目前为止,我正在制作一个ajax登录表格,这要归功于到目前为止一些用户的堆栈流程。

现在当我检查所有字段时,如果它响应输入被按下它工作正常,除非我选择提交按钮,它根据Chrome网络选项卡提交数据两次。

我认为它正在执行.click函数,就像.keycode函数一样。

如果键码输入为false,我怎么能在代码中说,我点击按钮执行该功能,或者如果它的真实,则不执行.click功能。

$(document).ready(function () {
    $('#field').keyup(function (e) {
        if(e.keyCode == 13) {
            //If enter is pressed vailidate the form
            $.ajax({
                url: 'ajax/check.php',
                type: 'post',
                data: {
                    method: 'fetch'
                },
                success: function (data) {
                    $('.chat .messages').html(data);
                }
            });
        };
    });
    $('#submit').click(function () {
        alert('Do something here this is just a test');
    });
});

1 个答案:

答案 0 :(得分:0)

只需添加preventDefault并将false返回到keyup函数,如:

$('#field').keyup(function (e) {
    if(e.keyCode == 13) {
        //If enter is pressed vailidate the form
        e.preventDefault();
        $.ajax({
            url: 'ajax/check.php',
            type: 'post',
            data: {
                method: 'fetch'
            },
            success: function (data) {
                $('.chat .messages').html(data);
            }
        });
     return false;
    };       
});

当用户按ENTER键时,这将阻止表单提交。