1

我正在使用.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()

+0

'/ EasyFill/Search.aspx'是一个绝对路径,而不是相对路径。它应该从'http:// localhost/EasyFill/Search.aspx'加载。你有复制错误吗? – Barmar 2014-09-04 17:11:21

+0

如果你有'EasyFill/Search.aspx',它应该查找'forms/EasyFill/Search.aspx'。相对路径相对于制作引用的页面的目录进行解释。所以这应该工作。 – Barmar 2014-09-04 17:14:39

+0

如果你有'.load('Search.aspx')',那么你得到的错误只会发生。 – Barmar 2014-09-04 17:15:30

回答

0

由于您从forms/UserControls/ucEasyFill.ascx加载文件,您需要升级以进入forms/EasyFill。所以它应该是:

MODAL_SEARCH_WINDOW = $("#modalSearchWindow").load('../EasyFill/Search.aspx').dialog({ 
+0

不幸的是,这并不能解决问题。问题不在于EasyFill/Search.aspx页面没有被加载,问题是当我尝试在该页面上提交表单控件时,他们正在寻找forms/search.aspx而不是easyfill/search.aspx它应该是,谢谢你的所有帮助BTW – 2014-09-04 19:05:50

+0

然后在表单中修复'action = ...'中的路径。它必须与您要加载的页面相关,而不是相对于您加载的页面。 – Barmar 2014-09-04 19:08:57