2010-09-25 100 views
3

我在网页上有一个表格。当用户输入表单并点击提交时,我希望colorbox弹出结果页面。Colorbox - 如何在colorbox弹出窗口中打开提交的表单?

关于如何去做这件事的任何想法?

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

谢谢:)

回答

3

对此,我将:

  1. 手动通过串行化的形式作为一个数组提交表单
  2. 然后,提交使用getpost,或ajax数据。
  3. 将回复写入无形的div,然后在此div上使用colorbox

例子:

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

修改您可能需要进行:

  • 变化getpostajax
  • 更改div,响应被转储到(可能使用随机ID生成一个div,而不是使用co nstant,response,作为ID)

另外:

我在想,我要 转换格式数据转换成一个GET字符串,把 上的网址年底打开, 然后发送到colorbox。

这可行,但只适用于您的表格与get一起使用。我不会推荐使用get作为一般的表单,因为这会导致令人讨厌的CSRF和XSS攻击。

+0

尝试应用colorbox时出现错误。它表示该对象不支持该方法!有任何想法吗?当我在回调处理程序之外调用colorbox时,不会发生这种情况。 – 2011-04-21 11:34:26

+0

哦..内容再次加载到jquery中。 – 2011-04-21 12:11:00

+0

现在工作吗? – 2011-04-21 13:59:53

相关问题