我正在使用一个用户控件,我需要调用一个弹出窗口,它提出一个问题,我需要将响应(真或假)发送回调用该弹出窗口的用户控件。我声明了一个隐藏字段来从客户端存储值,这样我就可以从后面的代码访问它,然后执行进一步的代码。我有以下代码:
ASP.Net
<script type="text/javascript">
function confirmNoCallList() {
debugger;
var resp = confirm("¿Seguro/a que desea agregar a este subscriptor a la
lista de 'No Llamar'?");
window.opener.document.getElementById('hfAddToNoCallList').value = resp;
}
</script>
<ajax:TabContainer ID="tbcMyProfile" runat="server" ActiveTabIndex="0" Width="500px">
<ajax:TabPanel ID="tbpInfoCta" runat="server" HeaderText="Información de mi
Cuenta">
<ContentTemplate>
<asp:HiddenField ID="hfAddToNoCallList" runat="server" />
.
.
.
当函数命中 window.opener 行时,我收到错误消息。关于如何正确执行此操作的任何想法?
最佳答案
您必须在运行时获取动态 ClientID
或将其传递给一个函数和一个可以找到它的 arg:
document.getElementById('<%= hfAddToNoCallList.ClientID"%>').value = resp;
或
function confirmNoCallList(hiddenField) {
debugger;
var resp = confirm("¿Seguro/a que desea agregar a este subscriptor a la
lista de 'No Llamar'?");
document.getElementById(hiddenField).value = resp;
}
关于javascript - Asp.Net 从 javascript 的弹出窗口中获取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8534761/