打开一个新页面并使用Javascript将参数传递给它

时间:2010-04-28 02:51:09

标签: javascript xhtml dhtml html-table

我有一个JS函数,它从服务器处理XML I GET以动态创建一个表,如下所示

// 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传递给这个新页面,以便使用详细的服务信息进行自定义。

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

谢谢!

1 个答案:

答案 0 :(得分:2)

如下:

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

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