Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/449.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript UI对话框中jQuery加载函数中的相对路径_Javascript_Jquery_Jquery Ui Dialog_Jquery Load_Showmodaldialog - Fatal编程技术网

Javascript UI对话框中jQuery加载函数中的相对路径

Javascript UI对话框中jQuery加载函数中的相对路径,javascript,jquery,jquery-ui-dialog,jquery-load,showmodaldialog,Javascript,Jquery,Jquery Ui Dialog,Jquery Load,Showmodaldialog,我正在使用.load()函数将.aspx页面加载到我的jQuery UI对话框中,效果很好。问题是,正在加载的页面与对话框打开调用所来自的目录不同,当我尝试从新加载的页面点击“提交”按钮时,它找不到“search.aspx”路径,因为它正在原始路径中查找 基本上: ucEasyFill.ascx包含div声明和打开模式弹出窗口的链接。它位于forms/UserControls/文件夹中 <div id="modalSearchWindow" style="display:none;" cl

我正在使用.load()函数将.aspx页面加载到我的jQuery UI对话框中,效果很好。问题是,正在加载的页面与对话框打开调用所来自的目录不同,当我尝试从新加载的页面点击“提交”按钮时,它找不到“search.aspx”路径,因为它正在原始路径中查找

基本上:

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>
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/
目录加载的。我的问题是,我该如何解决这个问题?我之所以尝试这样做,是因为Chrome37中新出现了对
showModalDialog()
的不推荐,因为您是从
forms/UserControls/ucEasyFill.ascx
加载文件的,所以需要升级才能进入
forms/EasyFill
。因此,它应该是:

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

/EasyFill/Search.aspx
是绝对路径,而不是相对路径。它应该从
http://localhost/EasyFill/Search.aspx
。您是否有复制错误?如果您有
EasyFill/Search.aspx
,它应该查找
forms/EasyFill/Search.aspx
。相对路径是相对于进行引用的页面目录进行解释的。所以这应该行得通。只有当您使用
.load('Search.aspx')
时,才会发生您遇到的错误。我使用了'EasyFill/Search.aspx'和前导'/',并尝试通过localhost将代码硬编码为'',但我仍然收到相同的错误,不确定jQuery对话框是否呈现了.load()函数从
调用它的目录。dialog()
返回后才会被调用。load()
返回后,它不会对其产生任何影响。不幸的是,这并不能解决问题。问题不是EasyFill/Search.aspx页面没有加载,而是当我尝试提交该页面上的表单控件时,他们正在查找表单/Search.aspx,而不是EasyFill/Search.aspx,感谢您提供的所有帮助,然后修复表单中
action=…
中的路径。它必须与加载到的页面相关,而不是与加载位置相关。