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

发布于 2024-10-04 20:36:28 字数 681 浏览 2 评论 0原文

我用 ajax 检查该名称是否已找到或未找到。当数据返回找到时它工作正常,但是当它返回未找到时,我必须再次提交才能触发它。

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

$('#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;
    }

    });

});

非常感谢:)

I have this ajax check to see if the name is found or nofound. It works fine when data returns found, but when it return nofound, I must submit it again to trigger it.

Does anyone have a suggestion or a better solution for this?

$('#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;
    }

    });

});

Many thanks :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮色兮凉城 2024-10-11 20:36:28

您可能想要执行非异步 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();
});

You might want to do a non-async ajax call: (I didn't test this code)

$('#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();
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文