大家好,请问一个xsl和javascript的问题:我有一个a.htm,里面有一个button_a,点击后进入b.xsl,b.xsl中解析example.xml并以表格形式显示,b.xsl中以html的格式定义一个button_b,点击button_b后进入c.xsl,c.xsl再完成类似操作。 即a.htm-->b.xsl-->c.xsl,我分析实质上是xsl再调用xsl的问题 以上功能已经实现。但出现的问题是:进行以上操作后,如果用户在浏览器中点击刷新按钮,则页面会出现前几步的所有表格、按钮等内容均在页面上,并报错。
关键代码如下
a.htm:
button_a的onclick代码:
mxbody.innerText="";
mxbody.innerHtml="";
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("example1.xml")
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("b.xsl")
document.write(xml.transformNode(xsl))
b.xsl:
html部分(简略):
<xsl:for-each select="//num">
<td><xsl:value-of select="name"/></td>
</xsl:for-each>
button_b的onclick代码:
mxbody2.innerText="";
mxbody2.innerHtml="";
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("example2.xml")
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("c.xsl")
document.write(xml.transformNode(xsl))
有说法document.write(xml.transformNode(xsl))不对
应该换其它输出方法
目前主要功能已经实现
但xsl再加载xsl后刷新浏览器会显示以前操作内容报错
主要是xsl加载xsl的问题
查阅以往资料大部分是htm调用xsl的代码,很少用xsl再调用xsl的
请大家帮忙看看,多谢!
关键代码如下
a.htm:
button_a的onclick代码:
mxbody.innerText="";
mxbody.innerHtml="";
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("example1.xml")
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("b.xsl")
document.write(xml.transformNode(xsl))
b.xsl:
html部分(简略):
<xsl:for-each select="//num">
<td><xsl:value-of select="name"/></td>
</xsl:for-each>
button_b的onclick代码:
mxbody2.innerText="";
mxbody2.innerHtml="";
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("example2.xml")
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("c.xsl")
document.write(xml.transformNode(xsl))
有说法document.write(xml.transformNode(xsl))不对
应该换其它输出方法
目前主要功能已经实现
但xsl再加载xsl后刷新浏览器会显示以前操作内容报错
主要是xsl加载xsl的问题
查阅以往资料大部分是htm调用xsl的代码,很少用xsl再调用xsl的
请大家帮忙看看,多谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货