我正在使用.load()函數將.aspx頁面加載到我的jQuery UI對話框中,該工作正常。問題是,被加載的頁面與對話框打開的調用來自不同的目錄,當我嘗試從新加載的頁面點擊「提交」按鈕時,它無法找到'search.aspx'路徑因爲它正在尋找原始路徑。UI對話框中的jQuery加載函數中的相對路徑
基本上是:
ucEasyFill.ascx包含DIV聲明,並打開模式彈出的鏈接。這位於forms/UserControls /文件夾中;
<div id="modalSearchWindow" style="display:none;" class="MODAL_SEARCH_WINDOW"></div>
<img id="imgClearClient" src="images\clear.png" class="efIMG" />Clear </a><a href="#" id="lnkFindClient" name="lnkFindClient" onclick="javascript: MODAL_SEARCH_WINDOW.dialog('open');"><img id="imgSearchMag" src="/applications/images/search_mag.gif" class="efIMG" />Find</a>
ucEasyFill.js包含表格/腳本/文件夾中的document.ready函數中的對話框聲明;
MODAL_SEARCH_WINDOW = $("#modalSearchWindow").load('EasyFill/Search.aspx').dialog({
position: "center",
autoOpen: false,
resizable: false,
autoResize: true,
draggable: true,
modal: true,
width: 580,
height: 450,
dialogClass: "MODAL_SEARCH_WINDOW",
closeOnEscape: true,
open: function (event, ui) {
$('.MODAL_SEARCH_WINDOW .ui-dialog-titlebar').each(function() {
$(this).css("display", "none");
});
}
});
當「搜索」的點擊forms/EasyFill/Search.aspx
頁我收到404錯誤的;
POST http://localhost/applications/forms/Search.aspx 404 (Not Found)
,因爲對話正在從/forms/
目錄加載,而不是從forms/easyfill/
目錄這對我來說很有意義。真的,我的問題是我如何解決這個問題?我只是試圖做到這一點,因爲在Chrome 37中新的棄用showModalDialog()
'/ EasyFill/Search.aspx'是一個絕對路徑,而不是相對路徑。它應該從'http:// localhost/EasyFill/Search.aspx'加載。你有複製錯誤嗎? – Barmar 2014-09-04 17:11:21
如果你有'EasyFill/Search.aspx',它應該查找'forms/EasyFill/Search.aspx'。相對路徑相對於製作引用的頁面的目錄進行解釋。所以這應該工作。 – Barmar 2014-09-04 17:14:39
如果你有'.load('Search.aspx')',那麼你得到的錯誤只會發生。 – Barmar 2014-09-04 17:15:30