【问题标题】:opening a new page and passing a parameter to it with Javascript打开一个新页面并使用 Javascript 将参数传递给它
【发布时间】:2011-02-13 04:02:01
【问题描述】:

我有一个 JS 函数,它处理我从服务器获取的 XML 以动态创建如下表

// Generate table of services by parsing the returned XML service list.
function convertServiceXmlDataToTable(xml) {
    var tbodyElem = document.getElementById("myTbody");
    var trElem, tdElem;
    var j = 0;
    $(xml).find("Service").each(function() {
        trElem = tbodyElem.insertRow(tbodyElem.rows.length);
        trElem.className = "tr" + (j % 2);

        // first column -> service ID
        var serviceID = $(this).attr("service__id");
        tdElem = trElem.insertCell(trElem.cells.length);
        tdElem.className = "col0";
        tdElem.innerHTML = serviceID;

        // second column -> service name
        tdElem = trElem.insertCell(trElem.cells.length);
        tdElem.className = "col1";
        tdElem.innerHTML = "<a href=javascript:showServiceInfo(" + serviceID + ")>" + $(this).find("name").text() + "</a>";

        j++;
    }); // each service
}

其中showServiceInfo 根据serviceID 从服务器检索有关每个服务的更详细信息,并将其显示在与服务表相同的页面中。

到目前为止一切顺利。但是,事实证明,我必须在另一个页面中显示详细的服务信息,而不是与表格相同的页面。我创建了一个带有空布局模板的通用 service_info.html,但我不明白如何将 serviceID 传递到这个新页面,以便使用详细的服务信息对其进行自定义。

我该怎么做?或者,有没有更好的方法来处理这些情况?

谢谢!

【问题讨论】:

    标签: javascript xhtml dhtml html-table


    【解决方案1】:

    类似的东西呢:

    ...
    ...
    tdElem.innerHTML = "<a href=javascript:showServiceInfo.html?serivceId=" + serviceID + ">" + $(this).find("name").text() + "</a>"; 
    ...
    ...
    

    然后 showServiceInfo.html 页面使用作为 QueryString 的一部分传入的服务 ID 并自行检索数据。

    【讨论】:

    • 这似乎是正确的方法,谢谢。但是页面如何检索在 URL 中传递给它的参数呢?
    • 知道了。在这里使用了优秀博客条目中的功能:jquery-howto.blogspot.com/2009/09/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-01
    • 2021-08-29
    • 2014-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-24
    相关资源
    最近更新 更多