首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

EasyUI Dialog 彈窗返回值獲取完整方案

     編輯:程式設計綜合問答

場景

主頁面調用 openDialog(url, ...) 彈出 EasyUI Dialog(內嵌 iframe 頁面),子頁面點擊「確定」後需將選擇的值傳回父頁面。

核心原理

EasyUI Dialog 以 iframe 載入子頁面,父子頁面同域下屬於 同一個 window 物件的不同 frame,可通過 parent、window.top 互訪。

實現步驟

1. 父頁面定義回調函數

function receiveDialogValue(value) {
    console.log("收到子頁面值:", value);
    // 進一步處理,如填充表單、發送 AJAX
}

2. 子頁面確定按鈕調用父頁面函數

// 子頁面 JS
function onConfirm() {
    var selected = getSelectedData(); // 組裝數據
    if (window.parent && window.parent.receiveDialogValue) {
        window.parent.receiveDialogValue(selected);
    }
    // 關閉 Dialog
    window.parent.$("#dialogId").dialog("close");
}

3. 父頁面打開 Dialog 時傳遞上下文(可選)

function assignAuth(auth, name) {
    var url = "assignAuth.aspx?flag=edit&ids=" + auth;
    $("
").dialog({ href: url, // 或 content: '