2010-06-28 21 views
3

我喜打開一個彈出這樣的:爲什麼在彈出菜單中單擊提交按鈕時會打開新窗口?

function openPopup() { 
    RetVal = window.showModalDialog("chooseProducts.aspx", "", "dialogHeight: 330px; dialogWidth: 450px;scroll:no"); 
} 

在彈出,當我點擊這個按鈕,一個新的窗口被打開(與彈出包含):

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="savingImpr" OnClientClick="window.close();"/> 

我嘗試關閉當前在這個新窗口之前彈出。但這個新窗口是顯示。 你能幫我嗎,謝謝!

編輯

我已經嘗試在彈出的widow.close後返回false,將不會觸發確定新的窗口,但onclick事件不叫。

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="savingImpr" OnClientClick="window.close();return false;"/> 

有建議嗎?

回答

1

可以試試window.open(....)嗎?

編輯 上打開父窗口,這個類設置爲你的父窗口,這樣就會像modalpopup行爲

.Background 
    { 
     position: relative; 
     width: 100%; 
     height: 100%; 
     filter: alpha(opacity=40); 
    } 

變化類$get('dvMain').className = 'Background';

+0

非常感謝你穆罕默德,但我更喜歡使用showModalDialog來禁用父窗口。 – TimeIsNear 2010-06-28 11:31:16

+0

可以üPLZ給腳本設置父頁面的類,我想它會在Javascript中? thk你穆罕默德 – TimeIsNear 2010-06-28 13:03:13

+0

簡單做到這一點$ get('dvMain')。className ='Background'; – 2010-06-28 14:01:52

0

,在彈出的頁面中,您需要在父頁面上調用關閉彈出頁面的javaScript函數。

在父頁面:

function openPopup() { 
    RetVal = window.showModalDialog("chooseProducts.aspx", "", "dialogHeight: 330px; dialogWidth: 450px;scroll:no"); 
} 

function closePopup() { 
    //find and close your window here 
} 

在彈出頁面:

<asp:Button ID="btnSave" runat="server" Text="Save" OnClick="savingImpr" OnClientClick="window.parent.closePopup();"/> 

編輯:與其說window.parent.closePopup的OnClientClick的,你應該動態地後您添加的JavaScript「將你的數據保存在服務器端。

+0

在彈出窗口中出現此錯誤:window.parent.closePopup不是函數。我添加了這個: 函數closePopup(){ RetVal.close(); } – TimeIsNear 2010-06-28 14:11:28

3

把這個:

<base target="_self"/>

在頁眉

相關問題