0

我有一个页面打开另一个页面的厚框,其中包含一个表单。但是,在提交该表单后(它将数据写入数据库),我需要厚框的父页面来更新表单的某些行(已更改的值)。

我一直在网上阅读,但我从来没有真正尝试过用 Ajax 做这样的事情(我通常只使用 jQuery load())。本质上,我的理论是我可以使用 jQuery .submit() 函数并有一个回调函数,该函数接受 post 值并将它们传递到上一页。但是,我不确定是否将回调函数中捕获的表单中的值作为表单传递到上一页,尽管在厚框中的页面上显示的是不同的页面。

任何帮助将不胜感激!

只是为了帮助可视化页面的外观: 在此处输入图像描述

显示详细信息的表单位于厚框下方,单击更新按钮后,我希望有一种方法可以将新详细信息传递回该表单,而无需刷新整个页面。

非常感谢,

4

2 回答 2

0

那么有几种方法可以做到这一点,一种可能是找到thickbox打开的div,然后在那里找到iframe,理论上它会根据你返回它的方式显示来自服务器的返回数据,然后使用jQuery你可以提取数据并更新原始页面。

另一种方法是通过thickbox的onClose事件的主页手动检索更新的数据,如果iframe返回它,IMO就是浪费调用。

这一切都取决于您的服务器如何将数据返回到表单。

于 2013-07-23T11:57:06.580 回答
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);

});

您的厚盒在关闭时也会触发“卸载”事件,您可以像这样收听该事件:

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

var someFunction = function() {

    // do something when the thickbox closes

}
于 2013-07-23T12:01:30.167 回答