showModalDialog 子視窗搖控父視窗在IE以外流覽器失效

在IE我們在使用showModalDialog打開一個畫面後,如果要使用子視窗來改變父視窗的值只需要使用

window.dialogArguments.document.getElementById("父視窗物件ID").value = "想改變的值";

但是我在FireFox使用此方法發現無效,原來除了IE以外的瀏覽器,大部分的瀏覽器不是使用此方法來改變父視窗的值而是採用下面此方法來達成

if (window.dialogArguments != null) //IE使用
    var querytype = window.dialogArguments.document.getElementById("父視窗物件ID");
else //其他如 Friefox,Chrome
        var querytype = opener.window.document.getElementById("父視窗物件ID");

querytype.value = 'Return Value';
window.close();

留言