Colorbox - 如何在彩盒弹出窗口中打开提交的表单?

时间:2010-09-25 21:20:39

标签: jquery colorbox

我在网页上有一个表单。当用户在表单中输入输入并点击提交时,我希望彩色框能够弹出结果页面。

关于如何解决这个问题的任何想法?

我在想我必须将表单数据转换为get字符串,将其放在url的末尾打开,然后将其发送到colorbox。这是正确的方法吗,还是有更简单的方法?

谢谢:)

1 个答案:

答案 0 :(得分:3)

对此,我会:

  1. 通过将表单序列化为数组
  2. 来手动提交表单
  3. 然后,使用getpostajax提交数据。
  4. 将回复写入不可见的div,然后在此colorbox上使用div
  5. 示例:

    $("#myForm").submit(function(){
        var formData = $(this).serializeArray();
        $.get("mypage", formData, function(r){
            $("body").append("<div id='response'></div>");
            $("#response").hide().html(r).colorbox();
        });
        return false; // To override non-ajax submitting
    });
    

    您可能需要进行的修改:

    • get更改为postajax
    • 更改响应被转储到的div(可能生成带有随机ID的div,而不是使用常量response作为ID)

    此外:

      

    我在想我必须转换   将表单数据转换为get字符串,放入   在网址末尾打开,   然后将其发送到彩盒。

    这样可行,但前提是您的表单适用于get。我不建议一般使用get表格,因为这会导致令人讨厌的CSRF和XSS攻击。