具体到这个例子,我们希望button1和button2点击之后,用AJAX的方式取example.html的内容,然后动态更新页面的id=callbackdemo3的div
HTML如下:

1.Default.aspx页面

父窗口中操作iframe:window.frames[“iframeChild”].document
//假如iframe的id为iframeChild

复制代码 代码如下:

复制代码 代码如下:

在子窗口中操作父窗口:window.parent.document

<div id=”callbackdemo1″>
<button id=”button1″>ajax load1</button><br/>
</div>
<div id=”callbackdemo2″>
<button id=”button2″>ajax load2</button><br/>
</div>
<div id=”callbackdemo3″ class=”log”></div>
<button onclick=”$(‘.log’).html(”);”>clear</button>

<script type=”text/javascript”>
function GetUser(TxtEmpID,TxtEmpName,url)
{
var properties =
‘status:no;resizable:no;toolbar=no;menubar=no;location=no;scroll:no;dialogWidth:540px;dialogHeight:450px;’
var arg=window.showModalDialog(url,””,properties);
if(arg!=null)
{
document.getElementById(TxtEmpID).value=arg[0];
document.getElementById(TxtEmpName).value=arg[1];
}
}
</script>
<table width=”240px” cellpadding=”0″ cellspacing=”0″>
<tr>
<td style=”width: 80px”>
<asp:Label ID=”Label1″ runat=”server” Text=”選擇課級別一”
Width=”80px” class=”font-w”></asp:Label></td>
<td style=”width: 80px”>
<asp:TextBox ID=”TextBox1″ runat=”server” ReadOnly=”false”
Width=”80px” onfocus=”this.blur()”></asp:TextBox>
</td>
<td style=”width: 80px”>
<asp:TextBox ID=”TextBox2″ runat=”server” ReadOnly=”false”
Width=”80px” ></asp:TextBox>
</td>
<td style=”width: 80px”>
<asp:Button ID=”Button1″ runat=”server” Text=”確定”
OnClick=”Button1_Click” CssClass=”ButtonCss”/>
</td>
<td>
<asp:Label ID=”Label3″ runat=”server”
Text=””></asp:Label></td>
<td> <asp:Label ID=”Label4″ runat=”server”
Text=””></asp:Label></td>
</tr>
</table>

那么,用如果想用jquery的方法,我们怎么用jquery来获取iframe呢?下面是一下收集来的方法。

第一种做法:
适用于最简单的情况,也是比较直观的做法,就是在ajax回调函数中,使用jQuery的id选择器$(“#callbackdemo3″)得到id为callbackdemo3的div后更新其HTML内容

2.Default.aspx.cs

获取页面的对象其实就是dom方法外面加上jquery的选择符:

复制代码 代码如下:

复制代码 代码如下:

父窗口中操作iframe:$(window.frames[“iframeChild”].document)
//假如iframe的id为iframeChild

$(“#callbackdemo1>#button1”).click(
function load(){
$.get(“example.html”,{ ‘param[]’: [“var1”, “var2”] },
function f1(data, textStatus, XMLHttpRequest)
{
$(“#callbackdemo3”).html(data);
}
);
}
);

protected void Page_Load(object sender, EventArgs e)
{
TextBox1.Attributes.Add(“onclick”, “GetUser(‘” + this.TextBox1.ClientID

在子窗口中操作父窗口:$(window.parent.document)

发表评论

电子邮件地址不会被公开。 必填项已用*标注