【问题标题】:Posting/submitting multiple forms in jQuery在 jQuery 中发布/提交多个表单
【发布时间】:2010-09-23 20:59:19
【问题描述】:

我在一个页面上有两个表单(一个被 AJAX 抓取)。我需要将它们都发布,所以我序列化第二个并在提交第一个之前使用 jQuery 在帖子中发送它。但是,似乎只有第一个表单被发布。奇怪的是,如果我在序列化帖子之后发出警报,它会按预期工作。我的问题到底是什么?

$("#submit").livequery('click', function() {
    var form = $("#second_form");
    var action = form.attr("action");
    var serialized_form = form.serialize();
    $.post(action, serialized_form);

    //alert('test');

    $("#first_form").submit();

    return false;
});

有没有更好的方法来发布两个表单,然后在按下按钮时重定向到新页面?我尝试使用上述方法发布它们,然后使用 window.location 更改页面,但我遇到了类似的问题。

非常感谢!

【问题讨论】:

    标签: javascript jquery


    【解决方案1】:

    您可以尝试在“second_form”帖子的回调中提交“first_form”。我相信“first_form”的提交正在卸载导致第二个帖子中止的页面。在 "second_form" 的回调中做 "first_form" 的 post 将确保在第二个 post 开始之前初始 post 完成。

    $("#submit").livequery('click', function() {
        var form = $("#second_form");
        var action = form.attr("action");
        var serialized_form = form.serialize();
        $.post(action, serialized_form, submit_first);
    });
    
    function submit_first(val) {
       $("#first_form").submit();
    }
    

    【讨论】:

    • 完美!非常感谢 - 我没有意识到提交卸载了页面。 :D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多