Стоимость перевала из всплывающего на родительские страницы главная страница
Hi all, I am trying that following on : https://www.aspsnippets.com/Articles/Pass-value-from-child-popup-window-to-parent-page-window-using-JavaScript.aspx And it work fine. But when using parent page had master page. Javascrip error, can not get value. window.opener.document.getElementById("lblConfirm_Email").value = UserEmail; lblConfirm_Email is textbox on Parent page Popup use Gridview -> click row -> pass value to parent page. So pls kindly help fix that. Thanks so much Nguyen Hien What I have tried: <pre lang="HTML"> <pre>function GetSelectedRow(lnk) { if (window.opener != null && !window.opener.closed) { var row = lnk.parentNode.parentNode; var rowIndex = row.rowIndex - 1; var UserEmail = row.cells[3].innerHTML; var UserName = row.cells[2].innerHTML; var parent_ID = getQueryVariable("ParentID"); //var Email1 = lblAppr_Email.ClientID.toString(); //var Name1 = lblAppr_Name.ClientID.toString(); if (parent_ID == "Appr") { window.opener.document.getElementById("lblAppr_Name").value = UserName; window.opener.document.getElementById("lblAppr_Email").value = UserEmail; }
<pre> <form id="form1" runat="server"> <div id="Grid" style="overflow:auto;"> <asp:GridView ID="GridView1" runat="server" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="3" OnRowCreated="RowCreated_report" OnRowDataBound = "OnRowDataBound" > <FooterStyle BackColor="White" ForeColor="#000066" /> <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" /> <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" /> <RowStyle ForeColor="#000066" /> <SelectedRowStyle BackColor="#669999" Font-Bold="True" ForeColor="White" /> <SortedAscendingCellStyle BackColor="#F1F1F1" /> <SortedAscendingHeaderStyle BackColor="#007DBB" /> <SortedDescendingCellStyle BackColor="#CAC9C9" /> <SortedDescendingHeaderStyle BackColor="#00547E" /> <Columns> <asp:TemplateField HeaderText=""> <ItemTemplate> <asp:LinkButton ID="lnkSelect" runat="server" Text="Select" CommandName="Select" OnClientClick="return GetSelectedRow(this)"> </asp:LinkButton> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> </div> </form>
И это метка на родительской странице(используйте главную страницу):
<pre><td class="auto-style4"> <asp:Label ID="lbappr" runat="server"></asp:Label> <input type="hidden" id="lblAppr_Email" runat="server" readonly="readonly" /> <input id="lblAppr_Name" type="text" readonly="readonly" runat="server" /> <br /> <%--<asp:Button ID="Button4" runat="server" Text="Change" />--%> <input type="button" value="Change" onclick="SelectDetails_appr()" /> </td>
j snooze
В этом есть смысл. Из того, что код опубликован, я не вижу html-элемента управления или любого другого элемента управления с именем lblConfirm_Email на родительской странице html, которую вы опубликовали.
j snooze
Также имейте в виду, если эта метка является asp.net Контрольная метка, иногда на главной/дочерней страницах asp.net изменяет идентификатор, чтобы убедиться, что они уникальны между страницами, при просмотре вашей страницы в браузере сделайте правый клик > просмотр источника в браузере и найдите метку lblConfirm_Email в фактическом HTML, который asp.net выходы, метка может быть переименована с дополнительными символами, чтобы сделать ее уникальной, чтобы главная и подробная страницы не сталкивались с проблемами.