.net里用了一个父窗口和子窗口传值的JS,但父页面却得不到子页面传来的值,很纳闷,报错是说window.opener.document.getElementById('父窗口控件ID名')为空或不是对象。希望高手帮指点:
父页面
<%@ Page Language="C#" MasterPageFile="~/CMSMasterPage.master" AutoEventWireup="true"
Inherits="ManageLogDataList" Title="Untitled Page" CodeBehind="ManageLogDataList.aspx.cs" %>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<script type="text/javascript">
function showDialog() {
window.open("UserSearch.aspx");
}
</script>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox>
<asp:Button ID="btnUserSearch" runat="server" Text="U"/>
</asp:Content>
父页面后台
public partial class ManageLogDataList : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
btnUserSearch.Attributes.Add("onclick", "this.form.target='_blank'");
this.btnUserSearch.Attributes.Add("onclick", "showDialog()");
}
}
子页面:他是父页面点击后重新打开一个新页面,再这个页面里做了一些操作,search了一些数据,然后选定一个值,打算返回给父页面
子页后台
protected void LinkButton_Command(object sender, CommandEventArgs e)
{
string userName = (string)e.CommandArgument;//这个是我再子页面得到的值,需要传到父页的值,这个值已经得到。
Response.Write("<script type='text/JavaScript'>
window.opener.document.getElementById('<%=txtUserName.ClientID %>').value = '" + userName + "';alert(window.opener.location.href);</script>");
}
当我点击子页面上的button触发LinkButton_Command事件时,报错window.opener.document.getElementById('<%=txtUserName.ClientID %>')为空或者不是对象.
当我不清楚到底是哪地方出了问题,所以希望有此方面经验的人多多帮助,谢谢
分享到:
相关推荐
比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为: window.opener.document.getElementById(“name”).value = “输入的数据...
var txt = window.opener.document.getElementById("msg"); txt.value = "secondsaysyouwelcome"; }); } function secondcall(msg) { if (msg.indexOf("third") > 0) { tw = window.open("third.html", ...
window.opener.document.getElementById('orgNameId').value = name; window.close(); // 关闭子窗口 } } ``` 在上面的 `selectOrg` 函数中,当用户在子窗口中选择一个机构后,它会找到父窗口中的 `orgIdId` 和 ...
window.opener.document.getElementById("name").value = "输入的数据"; ``` 这会将新窗口中的数据赋值给父窗口ID为"name"的文本框。 接下来,`window.showModalDialog`是Internet Explorer 4及以上版本引入的方法...
例如,通过`window.opener`对象,子窗口可以访问到打开它的父窗口,而`iframe`内的脚本可以通过`parent`对象与父页面通信。 - 父窗口调用子窗口: ```javascript let newWindow = window.open('...'); newWindow....
window.opener.document.getElementById("text1").value = document.getElementById("returnText").value; window.close(); } ``` #### 四、实例分析 考虑以下示例代码: ```html <!-- a.html --> (0)" ...
2. 访问或修改父窗口的元素:通过`window.opener.document.getElementById`或`window.opener.document.querySelector`等方法,我们可以找到并操作父窗口中的HTML元素。例如,`window.opener.document.getElementById...
`opener`属性在JavaScript中是一种实现跨页面通信的方式,尤其适用于父窗口与弹出窗口或框架之间的交互。本篇文章将深入探讨如何在JSP页面上使用JavaScript的`opener`属性来传递和接收参数。 首先,我们要理解`...
在JavaScript中,`window.parent` 和 `window.opener` 是两个不同的对象,它们分别用于处理不同类型的窗口间通信。理解这两个对象的区别对于开发涉及多窗口交互的Web应用至关重要。 首先,`window.parent` 主要应用...
在IE中,可以通过`window.dialogArguments`访问父窗口,而在其他浏览器中,如Firefox,可以尝试使用`window.opener.document.getElementById()`来访问并修改父窗口的元素值。不过需要注意,`window.opener.document`...
在我们的示例中,我们使用`window.opener.document.getElementById("parentValue").value`语句来访问父窗口中的一个文本框,并将其值设置为我们传递的值。最后,我们使用`window.close()`方法来关闭子窗口。 在实际...
添加" onclick="window.opener.document.getElementById('name').innerHTML=document.getElementById('inputValue').value"/> ``` 在这个例子中,页面B通过`window.opener`访问到了页面A,并修改了其中的内容...
- **对象为空问题**:如果引用失败,window.opener会返回null,所以在调用window.opener时要先检查该对象是否为null,以避免引发JavaScript错误。 - **跨域限制**:在进行window.opener操作时,如果父窗口和子窗口的...
var fWindowText1 = window.opener.document.getElementById("text1"); fWindowText1.value = fWindowText1.value + "mayongzhan"; window.close(); } } ``` 在这个例子中,`window.opener`属性用于获取创建新...
例如,可以调用`window.opener.functionName()`来执行父页面定义的函数,或者修改`window.opener.document.getElementById('id').innerHTML`来改变父页面某个元素的内容。 3. **安全限制**: - 由于同源策略的限制...
window.parent.opener.document.getElementById('parentInput').value = data; window.close(); } ``` 在这个例子中,`sendDataToParent`函数首先获取子窗口中输入框的值,然后设置父窗口相应输入框的值,最后...
document.getElementById('popupBtn').addEventListener('click', function() { var url = 'popup.html'; // 替换为你的弹出窗口页面URL var name = 'popupWindow'; var features = 'width=600,height=400,...
在IT领域,特别是前端开发中,JavaScript(简称JS)被广泛用于实现网页的动态功能,包括页面跳转和对iframe内的页面进行跳转与刷新。本文将深入解析JS页面跳转的各种方法,以及如何利用JS操作iframe进行页面跳转和...
JavaScript DOM对象介绍主要涉及到网页与脚本交互的核心技术,它是一种标准,由W3C国际组织制定,全称为Document Object Model。DOM的本质是提供了一种结构化的表示HTML或XML文档的方式,让开发者可以通过编程接口来...