| |||
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 |
| ||||
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! |
| |||
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 |
| |||
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:
Llama a esta página lamodal.html<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>
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 |
| ||||
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. |
| |||
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 |
| |||
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 |
| |||
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 |
| |||
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 |
| |||
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 |
| |||
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 |
| |||
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 |
| |||
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..... |
| |||
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?? |