首頁 >web前端 >js教程 >js關閉模態視窗刷新父頁面或跳轉頁面_javascript技巧

js關閉模態視窗刷新父頁面或跳轉頁面_javascript技巧

WBOY
WBOY原創
2016-05-16 17:46:441171瀏覽

有兩個視窗: A視窗(父),B視窗(模態)

A視窗裡有一個DATAGRID,一個按鈕。

點擊按鈕時,彈出B視窗(模態)。在B視窗中新增數據,提交後,要求B視窗自關閉,然後刷新A視窗(父)

複製程式碼程式碼如下:



彈出子窗體b.html , 當關閉子窗體時觸發父頁刷新

最近做物資系統的時候,又牽涉到模態視窗的問題了,上次做的時候沒遇到這次這麼多東西,記下來吧
父親視窗js方法
複製程式碼 程式碼如下:

function openwin(id){
var answer=window.showModalDialog("demand.do?f"demand.do? =" id "&d=" escape(new Date()),window.self,"dialogWidth:700px;dialogHeight:620px:center:yes");
if(answer==1){
window. location.href = "demand.do?method=selmd&d=" escape(new Date()); //前往處理頁面
//window.location.reload(); 刷新父視窗
//winow .location.reload(true);

}
}

加個escape(new Date()) 避免讀取緩存,當然也可以在子視窗中,加入


子視窗js 方法:
複製程式碼 程式碼如下:

function reValf >window.returnValue=1; //父視窗中answer的值
window.close();
}

開啟模態視窗之後,父視窗會一直等待子視窗回傳個值,如果是表單提交或是button就執行reVal()方法
返回answer的值,window.returnValue=1 這個地方我測試了好像只能返回String類型的,數組類型的不好使

在子視窗中使用window.opener.location.reload(); 不好使,不嘗試用於模態視窗,window.opern() 好使

還有個問題是:在模態視窗裡form 提交會彈出新窗口,這個問題簡單就在裡面加個
就可以搞定,註:我剛開始是不想透過form提交的,用js window.location.href 跳到不同的action去處理,發現
就不起作用了,似乎 只是針對form action=""才起作用,這個地方應該可以用iframe 去實現。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn