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

Relative Pathing in jQuery Load function in UI Dialog

本文关键字:相对 函数 路径 加载 对话框 jQuery UI      更新时间:2023-09-26

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

基本上:

ucEasyFill.ascx 包含div 声明,以及打开模式弹出窗口的链接。 它位于表单/用户控件/文件夹中;

<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 函数中的对话框声明 forms/scripts/文件夹中;

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()

由于您是从 forms/UserControls/ucEasyFill.ascx 加载文件,因此您需要上一个级别才能进入forms/EasyFill。所以它应该是:

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