Cur*_*tis 1 javascript asp.net
在我的 asp.net Web 应用程序中,我创建了一个带有按钮的弹出窗口。单击该按钮时,我想设置父窗口中包含的 asp:TextBox (id=TextBox1) 的值。然而,它并不像我读过的所有例子所表明的那样工作。
我在我的 javascript onclick 处理程序中尝试了以下代码行:
只有示例 3 有效。我读过的所有内容都表明 #1 是首选方法,但我似乎根本无法使其工作。有没有人知道我做错了什么?
我已经在 Firefox、Chrome 和 IE 中尝试过这个。
谢谢
小智 6
您需要在调用弹出代码时稍作更改,您必须传递您的文本框客户端 ID,然后您可以在没有任何硬编码的情况下从弹出页面设置其值。这是方法:
var txtNameClientObject = '<%= txtName.ClientID %>';
window.open('Child.aspx?txtName='+txtNameClientObject);
Run Code Online (Sandbox Code Playgroud)
然后在弹出页面中你可以这样做
opener.document.getElementById('<%= Request["txtName"] %>').value = 'from child';
Run Code Online (Sandbox Code Playgroud)
希望这对你有帮助。
谢谢
这行 JavaScript 是否包含在弹出窗口本身的标记中?如果是这样,则服务器端代码将不会知道 TextBox1 存在于父窗口的服务器端代码中,并且无法确定其 ClientID 属性。您要么需要以某种方式将该客户端 ID 传递到弹出窗口(查询字符串、cookie、会话等),要么对其进行硬编码。或者,您可以将这行 JavaScript 放在父页面上的函数中,然后沿着 window.opener.functionName() 的行调用一些东西。
归档时间: |
|
查看次数: |
16454 次 |
最近记录: |