post icon

How to pass and receive arguments to Modal Dialog window

Quando si apre una finestra modale mediante showModalDialog, è possibile passare degli argomenti alla pagina target, così come è possibile ricevere degli argomenti nella finestra parent.

L’esempio seguente apre una finestra modale (Modal_page.htm) passando come argomento un oggetto contenente il testo di un campo di input (oggettoDiAndata).

<script language="javascript" type="text/javascript">. function ShowFinestraModale(){ oggettoDiAndata = new Object var objTbx = document.getElementById("txt"); oggettoDiAndata.valore = objTbx.value; var retval = window.showModalDialog("/Modal_page.htm", oggettoDiAndata, "center:Yes;Status:No;"); if(retval){ if(retval.valore != "-1"){ objTbx.value = retval.valore; } } } </script>

La finestra modale riceve questo oggetto, ne recepisce il valore (oggettoDiAndata.valore) e lo inserisce in una textarea, quindi la pagina modale ha ricevuto il testo contenuto nel campo di input della pagina chiamante.

A questo punto è possibile modificare il testo e ritornarlo alla pagina parent mediante l’ oggettoDiRitorno

<script language="javascript" type="text/javascript"> var oggettoDiAndata = window.dialogArguments; if(oggettoDiAndata){ document.getElementById("tbx").value = oggettoDiAndata.valore; } oggettoDiRitorno = new Object function Modifica(){ oggettoDiRitorno.valore = document.getElementById("tbx").value; Chiudi(); } function Annulla(){ oggettoDiRitorno.valore = "-1"; Chiudi(); } function Chiudi(){ top.returnValue = oggettoDiRitorno; top.close(); } </script>

Download source Pass_argument_to_madal_dialog_window.zip (1,31 kb)

22 febbraio 2009 @ 20:22

No comments yet.

Leave a comment

Leave a Reply

Are you human? Time limit is exhausted. Please reload CAPTCHA.