| |||
ventana modal buenos dias, necesito abrir una ventana popup de forma modal, es decir que no se pueda cerrar hasta que se hayan completado los datos de un formulario y pulsado el boton enviar. |
| ||||
Acá encontre un ejemplo, alguien que lo testee con mozilla y demas browsers perke aca en mi laburo solo hay explorer.
Código:
nota: desabiliten los bloqueos de js que hace el sp2 de microsoft o sino entran en un loop infinito je! <html> <script language=JavaScript> var ModalDialogWindow; var ModalDialogInterval; var ModalDialog = new Object; ModalDialog.value = ''; ModalDialog.eventhandler = ''; function ModalDialogMaintainFocus() { try { if (ModalDialogWindow.closed) { window.clearInterval(ModalDialogInterval); eval(ModalDialog.eventhandler); return; } ModalDialogWindow.focus(); } catch (everything) { } } function ModalDialogRemoveWatch() { ModalDialog.value = ''; ModalDialog.eventhandler = ''; } function ModalDialogShow(Title,BodyText,Buttons,EventHandler) { ModalDialogRemoveWatch(); ModalDialog.eventhandler = EventHandler; var args='width=350,height=125,left=325,top=300,toolbar=0,'; args+='location=0,status=0,menubar=0,scrollbars=1,resizable=0'; ModalDialogWindow=window.open("","",args); ModalDialogWindow.document.open(); ModalDialogWindow.document.write('<html>'); ModalDialogWindow.document.write('<head>'); ModalDialogWindow.document.write('<title>' + Title + '</title>'); ModalDialogWindow.document.write('<script' + ' language=JavaScript>'); ModalDialogWindow.document.write('function CloseForm(Response) '); ModalDialogWindow.document.write('{ '); ModalDialogWindow.document.write(' window.opener.ModalDialog.value = Response; '); ModalDialogWindow.document.write(' window.close(); '); ModalDialogWindow.document.write('} '); ModalDialogWindow.document.write('</script' + '>'); ModalDialogWindow.document.write('</head>'); ModalDialogWindow.document.write('<body onblur="window.focus();">'); ModalDialogWindow.document.write('<table border=0 width="95%" align=center cellspacing=0 cellpadding=2>'); ModalDialogWindow.document.write('<tr><td align=left>' + BodyText + '</td></tr>'); ModalDialogWindow.document.write('<tr><td align=left><br></td></tr>'); ModalDialogWindow.document.write('<tr><td align=center>' + Buttons + '</td></tr>'); ModalDialogWindow.document.write('</body>'); ModalDialogWindow.document.write('</html>'); ModalDialogWindow.document.close(); ModalDialogWindow.focus(); ModalDialogInterval = window.setInterval("ModalDialogMaintainFocus()",5); } </script> <script language=JavaScript> function YesNoCancel(BodyText,EventHandler) { var Buttons=''; Buttons = '<a href=javascript:CloseForm("Yes");>Yes</a> '; Buttons += '<a href=javascript:CloseForm("No");>No</a> '; Buttons += '<a href=javascript:CloseForm("Cancel");>Cancel</a> '; ModalDialogShow("My Custom Title",BodyText,Buttons,EventHandler); } function YesNoCancelReturnMethod() { document.getElementById('modalreturn1').value = ModalDialog.value; ModalDialogRemoveWatch(); } </script> <BODY > <table border=1 cellpadding=2 cellspacing=2 align=center width="60%"> <tr><td align=left></td></tr> <tr><td align=left></td></tr> <tr><td align=left></td></tr> <tr> <td align=left><a href="javascript:YesNoCancel('Yes, no, or cancel me','YesNoCancelReturnMethod()');">Show Modal #1</a> 1. <input type=text id=modalreturn1 name=modalreturn1 value=''></td> </tr> </table> </BODY> </HTML> |