`
JessicaCao
  • 浏览: 36390 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

window.opener.document.getElementById(...)' 为空或不是对

阅读更多
.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>
    &nbsp;<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 %>')为空或者不是对象.



当我不清楚到底是哪地方出了问题,所以希望有此方面经验的人多多帮助,谢谢
分享到:
评论

相关推荐

    javascript window.opener的用法分析

    比如点击了a.htm上的一个链接而打开了b.htm,然后我们打算在b.htm上输入一个值然后赋予a.htm上的一个id为“name”的textbox中,就可以写为: window.opener.document.getElementById(“name”).value = “输入的数据...

    用window.open,opener实现网页间通信

    var txt = window.opener.document.getElementById("msg"); txt.value = "secondsaysyouwelcome"; }); } function secondcall(msg) { if (msg.indexOf("third") &gt; 0) { tw = window.open("third.html", ...

    window.opener用法和用途实例介绍

    window.opener.document.getElementById('orgNameId').value = name; window.close(); // 关闭子窗口 } } ``` 在上面的 `selectOrg` 函数中,当用户在子窗口中选择一个机构后,它会找到父窗口中的 `orgIdId` 和 ...

    window.showModalDialog以及window.open用法简介

    window.opener.document.getElementById("name").value = "输入的数据"; ``` 这会将新窗口中的数据赋值给父窗口ID为"name"的文本框。 接下来,`window.showModalDialog`是Internet Explorer 4及以上版本引入的方法...

    js window.open iframe dialog

    例如,通过`window.opener`对象,子窗口可以访问到打开它的父窗口,而`iframe`内的脚本可以通过`parent`对象与父页面通信。 - 父窗口调用子窗口: ```javascript let newWindow = window.open('...'); newWindow....

    js弹出窗口返回值

    window.opener.document.getElementById("text1").value = document.getElementById("returnText").value; window.close(); } ``` #### 四、实例分析 考虑以下示例代码: ```html &lt;!-- a.html --&gt; (0)" ...

    javascript经典特效---子窗口对父窗口的操作.rar

    2. 访问或修改父窗口的元素:通过`window.opener.document.getElementById`或`window.opener.document.querySelector`等方法,我们可以找到并操作父窗口中的HTML元素。例如,`window.opener.document.getElementById...

    opener实例页面之间传递参数

    `opener`属性在JavaScript中是一种实现跨页面通信的方式,尤其适用于父窗口与弹出窗口或框架之间的交互。本篇文章将深入探讨如何在JSP页面上使用JavaScript的`opener`属性来传递和接收参数。 首先,我们要理解`...

    window.parent与window.openner区别介绍

    在JavaScript中,`window.parent` 和 `window.opener` 是两个不同的对象,它们分别用于处理不同类型的窗口间通信。理解这两个对象的区别对于开发涉及多窗口交互的Web应用至关重要。 首先,`window.parent` 主要应用...

    js模式化窗口问题![window.dialogArguments]

    在IE中,可以通过`window.dialogArguments`访问父窗口,而在其他浏览器中,如Firefox,可以尝试使用`window.opener.document.getElementById()`来访问并修改父窗口的元素值。不过需要注意,`window.opener.document`...

    js中用open方式打开新窗口向父窗口传值

    在我们的示例中,我们使用`window.opener.document.getElementById("parentValue").value`语句来访问父窗口中的一个文本框,并将其值设置为我们传递的值。最后,我们使用`window.close()`方法来关闭子窗口。 在实际...

    js中opener与parent的区别详细解析.docx

    添加" onclick="window.opener.document.getElementById('name').innerHTML=document.getElementById('inputValue').value"/&gt; ``` 在这个例子中,页面B通过`window.opener`访问到了页面A,并修改了其中的内容...

    js中opener与parent的区别详细解析

    - **对象为空问题**:如果引用失败,window.opener会返回null,所以在调用window.opener时要先检查该对象是否为null,以避免引发JavaScript错误。 - **跨域限制**:在进行window.opener操作时,如果父窗口和子窗口的...

    js弹窗返回值详解(window.open方式)

    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`函数首先获取子窗口中输入框的值,然后设置父窗口相应输入框的值,最后...

    popup:通过 window.open() 创建原生弹出窗口的组件

    document.getElementById('popupBtn').addEventListener('click', function() { var url = 'popup.html'; // 替换为你的弹出窗口页面URL var name = 'popupWindow'; var features = 'width=600,height=400,...

    JS页面跳转和js对iframe进行页面跳转、刷新

    在IT领域,特别是前端开发中,JavaScript(简称JS)被广泛用于实现网页的动态功能,包括页面跳转和对iframe内的页面进行跳转与刷新。本文将深入解析JS页面跳转的各种方法,以及如何利用JS操作iframe进行页面跳转和...

    JAVASCRIPTDOM对象介绍[定义].pdf

    JavaScript DOM对象介绍主要涉及到网页与脚本交互的核心技术,它是一种标准,由W3C国际组织制定,全称为Document Object Model。DOM的本质是提供了一种结构化的表示HTML或XML文档的方式,让开发者可以通过编程接口来...

Global site tag (gtag.js) - Google Analytics