我在按钮点击时打开一个jquery对话框。我打开面板作为对话框。在该面板中有iframe,在iframe src中我调用了新页面。
我在页面加载中初始化了jquery对话框,如下所示 / *初始化页面加载对话框* /
$(function(){
$("#PanelTest").dialog(
{
minWidth: 500,
minHeight: 500,
autoOpen: false
});
});
在此功能中,我在此功能中打开面板作为对话框
function OpenPopupTest()
{
$("#PanelTest").dialog('open')
}
我的小组如下
<asp:Panel ID="PanelTest" runat="server" Style="display: none; background-color: White;
font-size: 12px;">
<div id="DivTst" style="text-align: left; margin-top: 20px; margin-left: 10px">
<iframe id="iframeTest" src="Test1.aspx" height="400px" width="400px"></iframe>
<br />
</div>
</asp:Panel>
此按钮位于更新面板内。
在botton属性后面的代码我调用了javascript函数。 ButtonTest.Attributes.Add( “点击”, “OpenPopupTest()”);
当我点击ButtonTest按钮时,弹出窗口正在打开。在Test1.aspx中有1个文本框,我想填写Test1.aspx的页面加载事件。我已经编写了在Test1.aspx的页面加载事件中将值放入文本框中的代码。当我调试代码时,我发现正在调用此代码,但是当弹出窗口打开时,文本框中没有显示任何值。 我认为,当面板所在的页面加载在iframe中调用的那个页面时。 Test1.aspx也被加载了。我想将1个值从父页面传递到子页面(Test1.aspx),通过该子页面填充文本框中的值。
请告诉我如何实现这一目标。
非常感谢任何帮助。
答案 0 :(得分:0)
我会做一个正常的ajax请求,而不是使用iframe。
所以我会这样做:
function OpenPopupTest()
{
//Link is clicked, get data, and open popup when data is ready
$.get('Test1.aspx', function(data) {
$('#DivTst').html(data);
$("#PanelTest").dialog('open');
});
}
function RefreshPopupTest()
{
//Link is clicked, update data
$.get('Test1.aspx', function(data) {
$('#DivTst').html(data);
});
}
function OpenPopupIFrameTest()
{
//Link is clicked, update the iframe and open idalog
document.getElementById("iframeTest").contentDocument.location.reload(true);
$("#PanelTest").dialog('open');
}
function RefreshIFrameTest()
{
//Link is clicked, update the iframe
document.getElementById("iframeTest").contentDocument.location.reload(true);
}