2011-02-01 30 views
5

Espero que alguien tenga la amabilidad de ayudarme con este problema.Ventana emergente valor de retorno

Lo que trato de hacer Devuelvo un valor de una ventana emergente a la ventana principal que lo lanzó usando javascript.

Lo que he tratado está llamando (como se lee en varios sitios web)

window.opener.document.forms[0].textField.value = 'value' 

pero mientras esto no produce ningún error no cambia el valor del campo.

He intentado buscar en la red una solución para esto, pero como muchos sitios relacionados con 'pop up return value' en google, resultados que datan de 2000, muchos parecen estar en conflicto, así que estoy algo confundido .

Idealmente, lo que preferiría hacer es esperar a que se tome una decisión (sí o no) y devolver un valor verdadero o falso a la función de llamada desde la ventana principal. Como la razón para esto, es que tengo un formulario que utiliza para enviar una función de Javascript para confirmar que el clima no continuará. Estaba usando un diálogo para devolver un verdadero valor falso, pero ahora trato de hacerlo con una ventana emergente para poder incluir imágenes y otra información.

Afortunadamente lo he explicado lo suficiente y alguien me puede ayudar con una solución.

Gracias por su tiempo.

Respuesta

1

uso en esta página padre

var answer = window.open(<your page and other arguments>) 
if (answer == 1) 
     do some thing 

en página secundaria

window.returnValue = 1; 
+4

Intenté esto como sugirió, pero esta ventana primaria no espera una respuesta de la ventana secundaria. Lo cual supongo que es también la razón por la cual en la sección cláusula if donde establezco un elemento innerHtml dependiendo del valor de retorno no hace nada. – yesiamconfused

+0

Aparentemente, esto solo funciona si abre la ventana usando showModalDialog. También parece que no es ampliamente compatible. https://msdn.microsoft.com/en-us/library/ms534371(v=vs.85).aspx – Liazy

4

Puede hacer referencia a la ventana que se abre la ventana emergente de la ventana emergente ... En este ejemplo, algo en la ventana emergente llama a esta función (que existe en la ventana emergente) pasando en el "val" ...

<script language="javascript"> 
    function GetRowValue(val) 
    { 
     // hardcoded value used to minimize the code. 
     // ControlID can instead be passed as query string to the popup window 
     window.opener.document.getElementById("ctl00_ContentPlaceHolder1_TextBox2").value = val; 
     window.close(); 

    } 

    </script> 
+0

ver: http://wiki.asp.net/page.aspx/282/passing-value-from -popup-window-to-parent-form39s-textbox/ –

+0

¿El "abrelatas" siempre se refiere a la ventana que abrió la ventana actual, o está configurado por algo? – mpen

0

intente lo siguiente:

window.opener.document.getElementById("sizeId" + rn).value 

Por encima de tamaño Identificación del coincidirá con la ventana padre Identificación del tipo de entrada en la que desea devolver los valores.