Foros del Web » Programando para Internet » Javascript »

ShowModalDialog y Opener (Se puede?)

Estas en el tema de ShowModalDialog y Opener (Se puede?) en el foro de Javascript en Foros del Web. Hola... se puede usar ShowModalDialog para abrir una ventana secundaria.... y con esta... usar el Opener para pasar unos datos que saco de una base ...
  #1 (permalink)  
Antiguo 06/01/2003, 10:16
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
ShowModalDialog y Opener (Se puede?)

Hola... se puede usar ShowModalDialog para abrir una ventana secundaria.... y con esta... usar el Opener para pasar unos datos que saco de una base de datos... y luego cargarlos en la ventana principal cuando esta se cierra y "Sin tener que hacer un reload de la pagina" ??????????
__________________
tech-nico.com
  #2 (permalink)  
Antiguo 06/01/2003, 16:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola OXIGENO:

Lo de "ShowModalDialog" me suena a delphi o c++, pero en javascript creo que te refieres a las ventanas que se abren con window.open()...
También hay unas ventanas pop-up que solo funcionan en explorer, razón por la que no me he preocupado en aprenderlas, porque opino que hay que tratar de hacer páginas para todo el mundo (no pretendo que compartas mi idea).
Pero para pasar datos de una ventana "opener" es muy fácil...
la ventana abierta referencia a la abridora con "opener" (minúsculas), y el caso contrario sería mediante la variable que hayas usado para abrirla... por ejemplo var abridor = window.open()
el pop-up se referencia mediante abridor...

Si aclaras un poco mejor lo que quieres, podré ayudarte más...

Saludos
  #3 (permalink)  
Antiguo 06/01/2003, 17:08
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Cita:
También hay unas ventanas pop-up que solo funcionan en explorer, razón por la que no me he preocupado en aprenderlas, porque opino que hay que tratar de hacer páginas para todo el mundo (no pretendo que compartas mi idea).


¡Suscribo 100% la opinión de Caricatos!
  #4 (permalink)  
Antiguo 06/01/2003, 17:34
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
Hola.... si, existen las ventanas modales en JavaScript...
para abrirlas las abres con un

<Script Language=JScript>
Result = window.showModalDialog('modal.asp' );
</Script>

Tambien se puede usar el window.modless (o algo asi)

Y es Distinto al Window.open()... la diferencia es que en la ventana modal no puedes volver a la ventana que la llamó. (la ventana secundaria... no puede volver a la principal) si no es de otra forma que cerrandola.... es como en Visual basic las VbModal.


Lo que yo queria... era... utilizar windows modals y ademas el opener. Pero no hay caso... ya averigue que utilizando window.showModalDialog no puede haber comunicion entre las ventanas.... por lo que no me serviria ya que lo que necesito es que me aparesca una segunda ventanita... agregar un dato en un text... y que cuando cierro la ventana... me actualize la ventana principal.... sin tener que hacer un reload.... (por ejemplo... agrego un elemento mas a un list... sin recargar la pagina).

Gracias de todos modos!

Bueno.. no se si soy muy claro....
__________________
tech-nico.com
  #5 (permalink)  
Antiguo 06/01/2003, 17:55
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
Bueno...si puedes devolverle valor de la modal a la primaria.
Pero como dice caricatos, no es compatible en otros navegadores...

Honestamente, yo apenas las uso en el intranet en el trabajo y eso que el navegador que usamos en la agencia es mayormente Internet Explorer.

Intenta este experimento.
No sé si era lo que querías hacer, pero quizás te sirva para algo en un futuro

Llama a esta página principal.html
Código:
<HTML>
<HEAD>
<SCRIPT language=javascript>
function lawin() {
	if (document.all){
      tamanos="dialogHeight:250px,dialogWidth:350px";
      eltexto=document.lamodal.mioutput.value;
      elvalor=showModalDialog("lamodal.html", eltexto, tamanos);
      document.lamodal.miinput.value=elvalor;
   }
}
</SCRIPT>
<BODY>           
            <FORM name=lamodal>
          Entrar texto:<INPUT size=25 name=mioutput> <INPUT onclick=lawin() type=button value="Ver ventana">
              <BR> Se despliega lo que escribiste en la ventana Modal:<INPUT size=25 
            name=miinput>
</BODY>
</HTML>
Llama a esta página lamodal.html
Código:
<HTML>
<BODY>
<FORM name=lamodal>Ves lo que escribiste en la principal:<INPUT size=25 
name=miinput><BR>Escribe algo para que se despliegue en la principal: <INPUT 
size=25 name=mioutput> <BR><INPUT onclick=cerrar() type=button value="Cerrar y Regresar a la principal"></FORM>
<SCRIPT language=javascript>
document.lamodal.miinput.value=window.dialogArguments;
function cerrar() {
   window.returnValue=document.lamodal.mioutput.value;
   window.close();
}
</SCRIPT>
</BODY>
</HTML>
__________________
Yanira
  #6 (permalink)  
Antiguo 06/01/2003, 18:22
Avatar de Kaopectate
Colaborador
 
Fecha de Ingreso: diciembre-2001
Ubicación: Curaçao (Antillas Holandesas)
Mensajes: 3.179
Antigüedad: 22 años, 4 meses
Puntos: 38
Completando un poco el comentario de Caricatos y sin desmerecer lo propuesto por Yanix, quería aclarar que el método showModalDialog() es una ampliación JScript de Microsoft que solo funciona en Internet Explorer a partir de la versión 4.0

Solo eso para que lo tomes en cuenta.
  #7 (permalink)  
Antiguo 06/01/2003, 21:01
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
Gracias amigos Foreros!

... Si!... en eso de que es incompatible con otros Browsers... estoy totalmente de acuerdo con ustedes... ya que en Netscape tiene alguna diferencia... y en Macintosh es totalmente incompatible!....

hoy en dia el 90% usa IE....

Tengo muy en claro que usando otros productos.. que no sean de miscrosoft como PHP, mysql, Linux etc etc... las aplicaciones son mas eficientes, seguras y estables.... pero bueno!... por mala suerte no es mi caso!...

en mi caso... (no es por desmerecer a nadie....) pero Microsoft me da de comer.... ya que en Desarrollo uso Todos Productos de Microsoft... ASP, Sql Server, Windows Nt, 2000 etc etc etc


Gracias Por contestar!!
__________________
tech-nico.com
  #8 (permalink)  
Antiguo 06/01/2003, 21:31
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
Yanix!... pedon!... acabo de probar el ejempo que me pasaste sobre Show Modal Dialogs... y la verdad es que me quede Re contento!!!... porque es lo que estaba buscando!!!!
Muchas Gracias!
Te juro que estaba totalmente convencido de que no se podia... ya que navegue varias paginas para investigarlo!... y encontre lo siguiente:

According to Micorsoft, the parent-child relationship is broken when you
use a modeless or modal dialog window (via window.showModelessdialog or
window.showModaldialog), instead use window.open, which will allow access
to the opener via "window.opener" or to any frames within the opener via
"window.opener.parent.frames[x]".

Es Raro NO?? Ahora se que eso es mentira!!!
Gracias Yanix... sos un Master!!!!!!!
__________________
tech-nico.com
  #9 (permalink)  
Antiguo 06/01/2003, 22:18
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
Olvídate de opener!

Me alegra que te funcione.
__________________
Yanira
  #10 (permalink)  
Antiguo 07/01/2003, 07:40
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
hola yanix!... no quiero ser molesto... pero me gustaria saber si con esto de las ventanas yo puedo... desde la ventana modal... Ingresar algo en un text y que cuando se cierre la ventana modal.. (eso hasta el momento es lo que me diste) se cree un elemento nuevo en un menu/list que esta en la ventana principal.
Ya que por lo que vi... estas ventanas interactuan por paso de parametros y devolucion de parametros entre ellas con el "window.".... como hago para que me cree ese elemento nuevo.... se puede??

con el opener lo logre hacer... pero no eran modals windows

Espero tener suerte!!.. saludos!!
__________________
tech-nico.com
  #11 (permalink)  
Antiguo 07/01/2003, 09:42
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
Si eres fanático de las modals eh! Yo no!!!! jejeje

Imagino que modificando el código y usando arreglo 'arrays' se podría hacer lo de la lista. No lo he intentado...porque estoy en el trabajo y estoy hasta por los codos con una aplicación ahora y un servidor que se nos murió... Hoy es el día de la histeria

Ojalá alguno de los compañeros se anime a modificarlo y te ayude mientras. Sino, pos más adelante cuando salga de este dilema acá me animo y le doy cabeza a eso un ratito
Juega un ratito con los arrays a ver si lo sacas..tengo la idea, pero no me he sentado a contemplarla.

Regreso al rato! a ver si revivo el servidor antiguo
__________________
Yanira
  #12 (permalink)  
Antiguo 07/01/2003, 11:27
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
Yanix... gracias por tu atencion!...

lo logre solucionar.!:... ahi va como me quedo!....:

Como veras... me base en tu ejemplo!....... Gracias!... bye!

----------------------------------------------------------------
en principal.html :


<HTML>
<HEAD>
<SCRIPT language=javascript>
function openWin() {
if (document.all){
tamanos='dialogHeight: 250px; dialogWidth: 350px;edge: Raised; center:Yes; help: No; resizable: No; unadorned: yes; status: No';
eltexto="";
//document.formprinc.textMain.value;
elvalor=showModalDialog("lamodal.html", eltexto, tamanos);
if (! elvalor) {
//alert(elvalor);
} else {
document.formprinc.miinput.value=elvalor;
var oOption = document.createElement("OPTION");
oOption.text=elvalor;
oOption.value=0;
document.all.menu.add(oOption);
}
}
}
</SCRIPT>
<BODY>
<FORM name=formprinc>
<p>Localidad:
<select name="menu" id="menu">
<option value="0">Santa Rosa</option>
</select>
<BR>
Localidad:
<INPUT size=25 name=miinput>
</p>
<p>
<input name="button" type=button onClick=openWin() value="Ver ventana">
</p>
</form>
</BODY>
</HTML>


------------------------------------------------------------------
y en lamodal.html


<HTML>
<BODY>
<FORM name=lamodal>
<BR>
Ingresar Localidad:
<INPUT
size=25 name=mioutput> <BR>
<INPUT onclick=cerrar() type=button value="Cerrar y Regresar a la principal"></FORM>
<SCRIPT language=javascript>
//document.lamodal.textModal.value=window.dialogArgu ments;
function cerrar() {
if (document.lamodal.mioutput.value) {
window.returnValue=document.lamodal.mioutput.value ;
window.close();
} else {
alert("Debe Ingresar una Localidad en el Campo de Texto.");
}
}

</SCRIPT>
</BODY>
</HTML>
__________________
tech-nico.com
  #13 (permalink)  
Antiguo 07/01/2003, 12:47
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
Me alegro muchísimo OXIGENO (Nicolas?)

Hay solo dos pequeñas cositas...bueno tres que quizás te gustaría cambiar.

En la principal.html
El segundo campo lo necesitas? O sea lo usamos para pasar el valor de ahí a la lista...pero puedes ponerlo hidden para que los usuarios no lo vean y solo se vea la listita

<INPUT type = hidden size=25 name=miinput>

No sé si te fijaste que en lamodal.html cuando le das al botón de ENTER sin añadir nada, te abre una nueva ventana. Puedes hacer que ese comportamiento desaparezca al escribirle en el tag de FORM de lamodal.html esto:

<FORM name=lamodal onSubmit="return false;" >

Y por último......
Dentro del script se te olvidó colocar:
//Diseñado por Nicolas Daitsch e I. Yanira Cruz
//Script disponible para todos.
//Enero 2003

__________________
Yanira

Última edición por Yanix; 07/01/2003 a las 12:51
  #14 (permalink)  
Antiguo 07/01/2003, 21:44
 
Fecha de Ingreso: febrero-2002
Mensajes: 442
Antigüedad: 22 años, 2 meses
Puntos: 2
jejejeje!.... Yanira! muy bueno lo de los autores!!!

Gracias por pulirme esos detalles... los voy a agregar!!

Con eso queda de 10!
__________________
tech-nico.com
  #15 (permalink)  
Antiguo 08/01/2003, 07:13
 
Fecha de Ingreso: noviembre-2002
Ubicación: Washington, DC
Mensajes: 822
Antigüedad: 21 años, 5 meses
Puntos: 5
Oxigeno, de nada para eso estamos!
Que equipazo formamos...a ver si más adelante formamos un Javascript Troop
__________________
Yanira
  #16 (permalink)  
Antiguo 14/02/2008, 05:12
 
Fecha de Ingreso: enero-2008
Mensajes: 2
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: ShowModalDialog y Opener (Se puede?)

Hello!! tenia dudillas con el showmodaldialog y encontré este post que me ha servido de mucho,
Pero mi duda iba mas alla.... en vez de utilizar cajas de texto y botones, queria mostrar en la ventana modal un listado con elecciones y que fuesen (o se comportasen como hrefs)

En las ventanas modales no funcionan los href direccionados a javascript, asi que mi solucion fue ponerlos dentro de div y marcar el onclick al javascript que queria ejecutar.

Las funciones javascript quedan igual, solo que el codigo html seria el siguiente:

<div onclick="javascript:document.lamodal.mioutput.valu e='Madrid';cerrar()"><a href="" >Madrid</a></div>
<div onclick="javascript:document.lamodal.mioutput.valu e='Barcelona';cerrar()"><a href="" >bARCELO</a></div>
<div onclick="javascript:document.lamodal.mioutput.valu e='Asturias';cerrar()"><a href="" >aSTURIAS</a></div>
<div onclick="javascript:document.lamodal.mioutput.valu e='cantabria';cerrar()"><a href="" >Cantabra>/a></div>


Por si a alguien le pasa, espero le sirva de ayuda.....
  #17 (permalink)  
Antiguo 14/02/2008, 18:59
 
Fecha de Ingreso: febrero-2008
Mensajes: 1
Antigüedad: 16 años, 2 meses
Puntos: 0
Re: ShowModalDialog y Opener (Se puede?)

Hola, estoy realizando una aplicación con ShowModalDialog y todo funciona correctamente, el problema es que la pantalla modal muestra información que es variable y no fija, pero al cerrarla y volverla a llamar muestra los mismos valores con los que la llamé la primera vez; estuve debuggeando y el problema es que no vuelve a entrar al Page_Load(), alguien sabe alguna forma de obligar a la aplicación a que lo haga??
  #18 (permalink)  
Antiguo 15/02/2008, 09:46
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: ShowModalDialog y Opener (Se puede?)

Por favor, no reviváis mensaje tan antiguos, utilizad un nuevo tema.

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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 11:17.