我有一個頁面,我希望SimpleModal實現的模態窗口很少。確切的情況如下:SimpleModal - 在同一個元素上調用「modal()」
- 頁面已加載。
- 用戶點擊按鈕打開模式窗口。
- 在模式中,用戶插入(輸入)他所需的所有信息。
- 數據經過驗證。 如果驗證失敗,則會顯示一個新的模式並顯示錯誤。這個概念是有一個模式窗口,應該像javascript alert()函數一樣工作。
- 當錯誤可見時,先前的模態應該消失。一旦用戶單擊確定,錯誤應該消失,舊的模態應該出現。
現在,我搜索了一個答案,並且看到Eric Martin(SimpleModal的開發人員)討論了多個模態窗口的幾篇帖子。看起來SimpleModal不支持它,他建議用新模型替換模態的內容。
我試圖做的是:
- 在我告訴了警報,我保持開放模式的ID。
- 隱藏所有打開的模態(隱藏divs)。
- 顯示警報並綁定OK按鈕。
- 當用戶單擊確定時,我關閉當前模式(警報),獲取舊的div的名稱,並通過調用ShowDialog(「getSubsidiariesForCustomer」)再次顯示它。
我的問題是,當我嘗試運行最後一個命令它不起作用。在調查之後,似乎SimpleModal插件的實現在某個元素上調用了modal()函數時保留了一個標誌。
只是爲了一般知識:
- 我使用的是簡單的模態1.41
好像我在JS faling上線216:
//不允許多個電話 if(sd數據){ return false; }
我的代碼是緊接在該節: 我通過運行 「jBtnNew_Click」 的邏輯出發:
Admin.BL.SettingsPage.jBtnNew_Click=function(e)
{
Admin.BL.EcmSettings.ShowDialog("#getSubsidiariesForCustomer");
alert(""); //Just for debugging
Admin.BL.EcmSettings.ShowAlert();
}
Admin.BL.SettingsPage.ShowAlert=function()
{
var id = $("div.model:visible").eq(0).attr("id");
$("#alertBtnOk").one("click", function(e){
$.modal.close();
if (id != undefined)
{
Admin.BL.SettingsPage.ShowDialog(id);
}
}
);
Admin.BL.SettingsPage.ShowDialog("#alert");
}
Admin.BL.SettingsPage.ShowDialog=function(dialogId)
{
if (dialogId.indexOf("#") < 0)
{
dialogId = "#" + dialogId;
}
$("div.model").hide();
$("#dialog").modal({position:new Array("20%"),
overlayId:"dialog-overlay",
containerId:"confirm-container"});
$(dialogId).show();
}
這是我的HTML:
獲取客戶的子公司 客戶ID: 客戶名稱: 這是我的警覺
解決這個問題的任何幫助將不勝感激!
謝謝:)
嗨Eric,感謝您的評論,但同時我決定以另一種方式實施它。我認爲一旦你回答我會收到一封電子郵件,當我看到我沒有收到郵件時,我改變了實施方式。我非常感謝你的努力! – 2011-03-27 12:53:57