2010-09-25 84 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

相關問題