2013-07-23 176 views
0

我有一個頁面打開另一個頁面的厚盒子,其中包含一個表單。但是,在提交表單(將數據寫入數據庫)後,我需要使用thickbox的父頁來更新表單的某些行(已更改的值)。通過Ajax傳遞表單數據

我一直在閱讀網上的,但我從來沒有真正嘗試做這樣的事與阿賈克斯前(我只是正常使用jQuery負載())。從本質上講,我的理論是我可以使用jQuery .submit()函數,並具有一個回調函數,它接受後值並將它們傳遞給前一頁。但我不確定是否將回調函數中捕獲的表單作爲表單傳遞給上一頁,儘管在厚頁框中顯示在頁面上是不同的頁面。

任何幫助將不勝感激!

只是爲了幫助visulaise頁面的樣子: enter image description here

顯示細節的形式是的ThickBox下,一旦更新按鈕被點擊我想有傳遞新的信息回的方式這種形式無需刷新整個頁面。

非常感謝,

+0

我不明白你的問題真的是什麼。你在一個頁面上,一個厚盒子被打開,其中有一個表單。用戶提交的ThickBox的形式(表格的數據被寫入到你的數據庫),並關閉ThickBox的。 thickbox可能會發出onClose事件。使用該事件觸發初始頁面上的表單的刷新。 – chrisweb

回答

0

那麼有幾種方法可以做到這一個可能找到的div的ThickBox的打開,然後找到的iframe在那裏它在理論上顯示從服務器根據返回的數據你如何返回它,然後使用jQuery,你可以提取數據並更新原始頁面。

另一種方法是隻通過手動的主網頁上檢索的ThickBox這IMO是呼叫的浪費,如果IFRAME返回它的OnClose事件更新的數據。

這一切都取決於你的服務器如何,雖然返回的數據形式。

0

你可以做兩件事情,第一,你可能想使用的表單提交事件來觸發頁面上的表格的更新:

$('#myThickboxForm').submit(function() { 

    // take the data in one of the form fields 
    var fieldInputData = $('#someThickboxFormField').val(); 

    // now update the other form using this value 
    $('#pageForm').find('#aPageFormField').val(fieldInputData); 

}); 

您的ThickBox也觸發「卸載」事件時,它得到關閉,你可以聽到這樣的事件:

$('#TB_window').on('unload', someFunction); 

var someFunction = function() { 

    // do something when the thickbox closes 

}