Foros del Web » Programando para Internet » Javascript »

Ayuda, pasar datos de pop up a pantalla padre

Estas en el tema de Ayuda, pasar datos de pop up a pantalla padre en el foro de Javascript en Foros del Web. Hola a todos, lamento molestar tanto pero en javascript tengo nivel mini principiante, les hare una breve explicacion de lo que hago y de lo ...
  #1 (permalink)  
Antiguo 17/06/2008, 16:31
Avatar de cadesa  
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 16 años, 7 meses
Puntos: 0
Busqueda Ayuda, pasar datos de pop up a pantalla padre

Hola a todos, lamento molestar tanto pero en javascript tengo nivel mini principiante, les hare una breve explicacion de lo que hago y de lo que me pasa:

Tengo un popup en donde realizo busquedas de diferentes articulos, en este popup hago la búsqueda, selecciono el articulo que deseo y en ese momento oprimo el botón "Aceptar" en el evento OnClick, el cual ejecuta una función en javascript que me pasa la información a mi pantalla principal, esto con solo una pantalla osea la principal, la funcion es la siguiente:

Código:
function PasaDatos()
{
window.opener.frmprincipal.ddlarticulo.value=window.frmbusqueda.articulos.value;
         window.opener.frmprincipal.txtdescripcion.value=window.frmbusqueda.descripcion.value;

window.opener.frmprincipal.txtcostloc.value=window.frmbusqueda.centcost.value;

window.opener.frmprincipal.txtum.value=window.frmbusqueda.um.value;

window.close();
}
en donde la frmprincipal es a donde van los datos y la frmbusqueda de donde los envio, y lo que es articulo, descripcion, centcost, um son input hidden.

Ahora la quiero modificar para que le pase los datos de acuerdo a la pantalla de la cual se solicite la información, para ello declare otro input hidden llamado pantalla y a este le asigno un valor que envio desde la pantalla que levanta el popup al popup por medio de un QueryString, esto lo hace pero al momento que pasa por el código de javascript me da el siguiente error:

Error en tiempo de Ejecución de Microsoft JScript: 'Pantalla' no está definido.

y no se porque puede ser, el código que implemente es el siguiente:

Código:
  function PasarDatos()
    {
        var datos = new pantalla.value;  Aqui da el error.
        if (datos = "1")
        {  
window.opener.frmprincipal.ddlarticulo.value=window.frmbusqueda.articulos.value;

window.opener.frmprincipal.txtdescripcion.value=window.frmbusqueda.descripcion.value;

window.opener.frmprincipal.txtcostloc.value=window.frmbusqueda.centcost.value;

window.opener.frmprincipal.txtum.value=window.frmbusqueda.um.value;

window.close();
        }
        else if (datos = "2")
        {
           window.opener.frmModificar.ddlarticulo.value=window.frmbusqueda.articulos.value; 

 window.opener.frmModificar.txtdescripcion.value=window.frmbusqueda.descripcion.value;

window.opener.frmModificar.txtcostloc.value=window.frmbusqueda.centcost.value;           

 window.opener.frmModificar.txtum.value=window.frmbusqueda.um.value;

window.close();
        }
    }
Por Favor diganme que esta mal y si fueran tan amables como se puede realizar de mejor forma.

Saludos
__________________
死は永遠の一歩だ
  #2 (permalink)  
Antiguo 17/06/2008, 18:13
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: Ayuda, pasar datos de pop up a pantalla padre

Hola:

No muestras donde está definido el objeto pantalla (si es que lo tienes definido)... y si es así, o sea si existe...
function pantalla(valor) {
this.value = valor; //...
}

Y si existiera debería tener un juego de paréntesis...

new pantalla().value;...

Muéstranos algo más de código para poder orientarte mejor...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 17/06/2008, 18:15
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Ayuda, pasar datos de pop up a pantalla padre

hola,
bueno y
si modificas
Código HTML:
var datos = pantalla.value;
seguro te funciona

por ahi pasa a
http://librosweb.es/javascript/

saludos &
adios
....
:]
__________________
Aerolíneas Alicia :D
  #4 (permalink)  
Antiguo 18/06/2008, 07:18
Avatar de cadesa  
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Ayuda, pasar datos de pop up a pantalla padre

Aqui esta el código de mi página (de form a form), dado que la parte de <script> ya se las comente.

Código:
    <form id="frmbusqueda" runat="server">
    <div>
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
    </div>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" RenderMode="Inline">
            <ContentTemplate>
                <table width="800">
                    <tr>
                        <td>
                            <asp:Label ID="lbltitulo" runat="server" Text="Búsqueda de articulos por descrpción"
                                Font-Bold="true" Font-Names="tahoma" Font-Size="16pt">
                            </asp:Label>              
                        </td>
                    </tr>
                    <tr>
                        <td height="10"></td>
                    </tr>
                    <tr width="100%">
                        <td>
                            <asp:Label ID="lbldescripcion" runat="server" Text="Ingrese la descripción del articulo que desea y oprima buscar, el sistema únicamente le desplegará los que esten en existencia." 
                                Font-Names="tahoma" Font-Size="10pt">
                            </asp:Label>
                        </td>
                    </tr>
                    <tr>
                        <td height="10"></td>
                    </tr>
                    <tr>
                        <td>
                            <asp:Label ID="lbldesc" runat="server" Text ="Descripción:" Font-Bold="true"
                                font-names="tahoma" Font-Size="12pt">
                            </asp:Label>
                        </td>
                    </tr>
                    <tr width="100%">
                        <td>
                            <asp:TextBox ID="txtdescri" runat="server" Width="232px"></asp:TextBox>
                            <asp:Button ID="btnbuscar" runat="server" Text="Buscar" OnClick="btnbuscar_Click" />
                            <input id="btnaceptar" type="button" value="Aceptar" onclick="PasarDatos()"/>
                        </td>
                    </tr>
                    <tr>
                        <td height="10">
                            <asp:Label ID="Label1" runat="server" Font-Names="Tahoma" Font-Size="10pt" Text='Seleccione el articulo deseado y oprima el botón "Aceptar".'></asp:Label>
                        </td>
                    </tr>
                    <tr width="100%">
                        <td>
                            <asp:UpdatePanel ID="UpdatePanel2" runat="server">
                                <ContentTemplate>
                                <asp:GridView ID="GridView1" runat="server" CellPadding="3" ForeColor="#333333" 
                                    Width="97%" AllowPaging="True" 
                                    OnPageIndexChanging="GridView1_PageIndexChanging" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" 
                                    PageSize="8" AutoGenerateColumns="False" DataKeyNames="Código" DataSourceID="busqueda">
                                    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                    <Columns>
                                        <asp:CommandField ButtonType="Button" SelectText="Seleccionar" ShowSelectButton="True" />
                                        <asp:BoundField DataField="Código" HeaderText="Código" SortExpression="Código">
                                            <ItemStyle Width="15%" />
                                        </asp:BoundField>
                                        <asp:BoundField DataField="Descripción" HeaderText="Descripción" SortExpression="Descripción">
                                            <ItemStyle HorizontalAlign="Left" Width="72%" />
                                        </asp:BoundField>
                                        <asp:BoundField DataField="Existencia" HeaderText="Existencia" SortExpression="Existencia">
                                            <ItemStyle HorizontalAlign="Right" Width="10%" />
                                        </asp:BoundField>
                                    </Columns>
                                    <RowStyle BackColor="#EFF3FB" />
                                    <EditRowStyle BackColor="#2461BF" />
                                    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                                    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                                    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                                    <AlternatingRowStyle BackColor="White" />
                                </asp:GridView>
                                    <asp:SqlDataSource ID="busqueda" runat="server" ConnectionString="<%$ ConnectionStrings:INDIRECTOConnectionString %>"
                                        SelectCommand="SELECT a.ARTICULO AS Código, a.DESCRIPCION AS Descripción, COUNT(a.ARTICULO) AS Existencia FROM Refrigua.REFRIGUA.ARTICULO AS a INNER JOIN Refrigua.REFRIGUA.EXISTENCIA_BODEGA AS e ON a.ARTICULO = e.ARTICULO WHERE (a.TIPO = 'U') AND (e.CANT_DISPONIBLE > 0) AND (a.DESCRIPCION LIKE '%' + @dato + '%') GROUP BY a.ARTICULO, a.DESCRIPCION, a.COSTO_PROM_LOC, a.UNIDAD_ALMACEN">
                                        <SelectParameters>
                                            <asp:FormParameter DefaultValue="" FormField="txtdescri" Name="dato" Type="String" />
                                        </SelectParameters>
                                    </asp:SqlDataSource>
                                    &nbsp;
                                </ContentTemplate>
                            </asp:UpdatePanel>
                       </td>
                    </tr>
                    <tr width="100%">
                        <td>
Aqui estan los input donde declaro los parametros que le paso al jscript
                            <input id="articulos" type="hidden" runat="server" /> 
                            <input id="descripcion" type="hidden" runat="server" />
                            <input id="centcost" type="hidden" runat="server" />
                            <input id="um" type="hidden" runat="server" />
                            <input id="pantalla" type="hidden" runat="server" />
                        </td>
                    </tr>
                </table>
            </ContentTemplate>
        </asp:UpdatePanel>
    </form>
Saludos
__________________
死は永遠の一歩だ
  #5 (permalink)  
Antiguo 18/06/2008, 09:55
Avatar de cadesa  
Fecha de Ingreso: septiembre-2007
Ubicación: Guatemala
Mensajes: 130
Antigüedad: 16 años, 7 meses
Puntos: 0
Respuesta: Ayuda, pasar datos de pop up a pantalla padre

Gracias, por su ayuda ya he resuelto mi problema, primero con la propiedad getElementById("valor").value para obtener el valor del input y luego sustituyendo los "=" por "==" dado que los "=" son de asignación y los "==" de comparación, aqui esta el código:

Código:
function PasarDatos()
{
    var datos = document.getElementById("pantalla").value;
    if (datos == "1")
    {
        window.opener.frmprincipal.ddlarticulo.value=window.frmbusqueda.articulos.value;
        window.opener.frmprincipal.txtdescripcion.value=window.frmbusqueda.descripcion.value;
        window.opener.frmprincipal.txtcostloc.value=window.frmbusqueda.centcost.value;
        window.opener.frmprincipal.txtum.value=window.frmbusqueda.um.value;
        window.close();
    }
    else if (datos == "2")
    {
        window.opener.frmModificar.ddlarticulo.value=window.frmbusqueda.articulos.value;
        window.opener.frmModificar.txtdescripcion.value=window.frmbusqueda.descripcion.value;
        window.opener.frmModificar.txtcostloc.value=window.frmbusqueda.centcost.value;
        window.opener.frmModificar.txtum.value=window.frmbusqueda.um.value;
        window.close();
    }
}

Saludos
__________________
死は永遠の一歩だ
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:58.