jQuery ajax检查并提交表单,当ajax返回nofound时总是要提交两次

时间:2010-11-25 20:50:24

标签: jquery ajax forms triggers submit

我有这个ajax检查,看看是否找到了名字或nofound。当找到数据返回时它可以正常工作,但是当它返回nofound时,我必须再次提交它以触发它。

有人对此提出建议或更好的解决方案吗?

$('#formletter').submit(function() {
    var name = $('#name').val();

    if ($.formLoading != false) {
        $.ajax({
        type: 'POST',
        url: "submit_ajax_contents.php",
        data: "namecheck="+name,
        success: function(data) {
            if(data == 'nofound'){
            $.formLoading = false;
            $('#formletter').submit();
            }else{
            alert('found');
            $.formLoading = true;
            }
        }
        });
    return false;
    } else {
    return true;
    }

    });

});

非常感谢:)

1 个答案:

答案 0 :(得分:1)

您可能想要执行非异步ajax调用:(我没有测试此代码)

$('#formletter').submit(function(event) {
    var name = $('#name').val();
    var found = false;
    $.ajax({
        async: false,
        type: 'POST',
        url: "submit_ajax_contents.php",
        data: "namecheck="+name,
        success: function(data) {
            if(data == 'found')
                found = true;
        }
    });
    if (found)
        event.preventDefault();
});