这是对以下内容的后续行动:
jQuery change content of colorbox

现在,初始颜色框(test_2.html)的内容是一种简单的形式:
例如

<form id="foo" action="test_3.html">
    <imput type="submit" id="formInput" value="send form">
</form>


应该发送表格,并将test_3.html的内容加载到同一颜色框中。

最佳答案

如果将其添加到主页的docReady中,它应该处理所有事情:

$('form').live('submit', function(e){
    var successHref = this.action,
        errorHref = "formError.php";

    e.preventDefault();
    $('#cboxLoadingGraphic').fadeIn();
    $.ajax({
        type: "POST",
        url: "processForm.php",
        data: {someData: $("#someData").val()},
        success: function(response) {
            if(response=="ok") {
                console.log("response: "+response);
                $.colorbox({
                    open:true,
                    href: successHref
                });
            } else {
                $.colorbox({
                    open:true,
                    href: errorHref
                });
            }
        },
        dataType: "html"
    });

    return false;
});


但是,此代码有一些假设。其中之一是,它将数据发送到“ processForm.php”(如您所见),并在一切正常时期望答案为“ ok”(纯文本,无json)。如果您不关心响应或错误处理,则可以删除if-else块并使用在action中设置的页面打开颜色框。顺便说一句,您可能会想要对此进行调整,但是它使您对如何完成此操作有所了解。

09-20 02:40