请问:如果用数据岛加载xml跟xsl文件,为何xsl文件里头的javascript脚本就无法被调用呢。

HONGDUN 2003-09-29 03:18:48
如题.....
...全文
74 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
colee 2003-09-30
  • 打赏
  • 举报
回复

<INPUT type="button" value="Button" id=button1 name=button1 onclick="s_test()">
????
你没有定义函数s_test()啊?

colee 2003-09-30
  • 打赏
  • 举报
回复

<INPUT type="button" value="Button" id=button1 name=button1 onclick="s_test()">
????
你没有定义函数s_test()啊?

HONGDUN 2003-09-30
  • 打赏
  • 举报
回复
to colee(长夜多浪漫)

这个只是我粘贴雨中人的代码,我自己的代码还是调用sort()
HONGDUN 2003-09-29
  • 打赏
  • 举报
回复
比较长了,请复制到xmlspy中看即可。。。

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/名片盒">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<link REL="Stylesheet" HREF="style.css" TYPE="text/css" />
<title>名片盒展示</title>
<script language="javascript" defer="true">
<xsl:comment>
<![CDATA[
function sort(strField)
{
alert("bb");
}
]]>
</xsl:comment>
</script>
</head>
<body>
<div align="center">
<xsl:for-each select="Cards[@Type='个人']">
<br/>
<b style="color:navy">[<xsl:value-of select="@Type"></xsl:value-of>名片列表]</b>
<table border="1" cellpadding="1" cellspacing="1" style="border-collapse:collapse" align="center" width="90%" bordercolor="black">
<tr bgcolor="#efefef">
<td align="center"><a style="color:black" href="#" onclick="sort('No')"><b>编号</b></a></td>
<td align="center"><a style="color:black" href="#" onclick="sort('Name')"><b>姓名</b></a></td>
<td align="center"><a style="color:black" href="#" onclick="sort('Tel')"><b>电话</b></a></td>
<td align="center"><a style="color:black" href="#" onclick="sort('Email')"><b>电子邮件</b></a></td>
<td align="center"><a style="color:black" href="#" onclick="sort('CorpName')"><b>公司名称</b></a></td>
</tr>
<xsl:apply-templates select="Card"></xsl:apply-templates>
</table>
</xsl:for-each>
</div>
</body>
</html>
</xsl:template>
<xsl:template match="Card">
<xsl:for-each select=".">
<tr>
<td><xsl:value-of select="No"></xsl:value-of></td>
<td><xsl:value-of select="Name"></xsl:value-of></td>
<td><xsl:value-of select="Tel"></xsl:value-of></td>
<td>
<a target="_blank">
<xsl:attribute name="href">mailto:<xsl:value-of select="Email"></xsl:value-of></xsl:attribute>
<xsl:value-of select="Email"></xsl:value-of>
</a>
</td>
<td><xsl:value-of select="CorpName"></xsl:value-of></td>
</tr>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
ssm1226 2003-09-29
  • 打赏
  • 举报
回复
你的XSL........
HONGDUN 2003-09-29
  • 打赏
  • 举报
回复
to: moonpiazza(月下小生)

页面显示出来是没有错的,数据都正常,就是JS的代码都不行了。
HONGDUN 2003-09-29
  • 打赏
  • 举报
回复
<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
<!--
window.onload=function(){
var strHTML=xmldata.XMLDocument.transformNode(xsldata.XMLDocument);
alert(strHTML)
oDiv.innerHTML=strHTML;
}
//-->
</SCRIPT>

</HEAD>
<BODY>
<xml id=xmldata src="csdn0022.xml">
</xml>
<xml id=xsldata src="csdn0022.xsl">

</xml>
<div id=oDiv></div>
<INPUT type="button" value="Button" id=button1 name=button1 onclick="s_test()">
</BODY>
</HTML>

csdn0022.xml
<?xml version="1.0" encoding="UTF-8"?>
<row>
<docId>6</docId>
<docTypeName>请假条</docTypeName>
</row>

我是这样子作的。。。
月光易水 2003-09-29
  • 打赏
  • 举报
回复
try:
a.asp
<xml id="cardxml" src="card.xml"></xml>
<xml id="cardxsl" src="card.xsl"></xml>
<SCRIPT LANGUAGE="JavaScript">
<!--
function window.onload()
{
document.write (cardxml.transformNode(cardxsl) );
}
//-->
</SCRIPT>


:_)
ssm1226 2003-09-29
  • 打赏
  • 举报
回复
你是如何使用的:

<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
<!--
window.onload=function(){
var strHTML=xmldata.XMLDocument.transformNode(xsldata.XMLDocument);
alert(strHTML)
oDiv.innerHTML=strHTML;
}
//-->
</SCRIPT>

</HEAD>
<BODY>
<xml id=xmldata>
<row>
<docId>6</docId>
<docTypeName>请假条</docTypeName>
</row>
</xml>
<xml id=xsldata src="csdn0022.xsl">

</xml>
<div id=oDiv></div>
<INPUT type="button" value="Button" id=button1 name=button1 onclick="s_test()">
</BODY>
</HTML>

csdn0022.xsl
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">

<xsl:apply-templates/>
<script language="javascript" defer="true">
<xsl:comment>
<![CDATA[
function s_test(){
alert(1);
}
]]>
</xsl:comment>
</script>
</xsl:template>
<xsl:template match="row">
<table border="1">
<xsl:for-each select="*">
<tr>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
ssm1226 2003-09-29
  • 打赏
  • 举报
回复
你是如何使用的:

<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
<!--
window.onload=function(){
var strHTML=xmldata.XMLDocument.transformNode(xsldata.XMLDocument);
alert(strHTML)
oDiv.innerHTML=strHTML;
}
//-->
</SCRIPT>

</HEAD>
<BODY>
<xml id=xmldata>
<row>
<docId>6</docId>
<docTypeName>请假条</docTypeName>
</row>
</xml>
<xml id=xsldata src="csdn0022.xsl">

</xml>
<div id=oDiv></div>
<INPUT type="button" value="Button" id=button1 name=button1 onclick="s_test()">
</BODY>
</HTML>

csdn0022.xsl
<?xml version="1.0" encoding="gb2312"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">

<xsl:apply-templates/>
<script language="javascript" defer="true">
<xsl:comment>
<![CDATA[
function s_test(){
alert(1);
}
]]>
</xsl:comment>
</script>
</xsl:template>
<xsl:template match="row">
<table border="1">
<xsl:for-each select="*">
<tr>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</table>
</xsl:template>
</xsl:stylesheet>
HONGDUN 2003-09-29
  • 打赏
  • 举报
回复
defer="true"这名什么意思。我加了之后还是不行的。。。
ssm1226 2003-09-29
  • 打赏
  • 举报
回复
<script language="javascript" defer="true">
HONGDUN 2003-09-29
  • 打赏
  • 举报
回复
<xml id="cardxml" src="card.xml"></xml>
<xml id="cardxsl" src="card.xsl"></xml>
JAVASCRIPT是包含中card.xsl中,具体我是这么作的:
<script language=javascript>
<xsl:comment>
<![CDATA[
function bb()
{
alert("test...");
}
]]>
</xsl:comment>
</script>

然后在.asp文件里头用数据岛载入,点击按钮触发bb事件的时候,硬就是说“不支持该对象属性”。而我如果直接用IE打开card.xml,则一切都没有问题。
初学XML,很多东西不大清楚,还望大家指点。。

8,906

社区成员

发帖
与我相关
我的任务
社区描述
XML/XSL相关问题讨论专区
社区管理员
  • XML/XSL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧