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)
Lascia un commento