在xsl中如何将当前节点做为参数传入jscript函数,100分

ActiveLF 2002-05-14 11:12:21
<xsl:template match="XXX">
<td>
<xsl:attribute name="onclick">javascript:af(.)</xsl:attribute>
</td>
</xsl:template>

我是这样写的。但是运行是浏览器会报错。
请问有什么其它方法。谢谢。解决立即给100分。
...全文
127 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ActiveLF 2002-05-27
  • 打赏
  • 举报
回复
这在客户端似乎是不可实现的,谢谢你们!结贴!
saucer 2002-05-15
  • 打赏
  • 举报
回复
<xsl:template match="XXX">
<td>
<xsl:attribute name="onclick">javascript:af(.)</xsl:attribute>
</td>
</xsl:template>

产生的HTML是什么?
<td onclick="javascript:af(.)"></td>
你想达成什么目的?
ActiveLF 2002-05-15
  • 打赏
  • 举报
回复
其实我的愿望还是美好的。下面的代码谁能解释为什么运行不通过。
<xsl:template match="XXX">
<td>
<xsl:attribute name="onclick">javascript:af(.)</xsl:attribute>
</td>
</xsl:template>


to saucer(思归) :那应该怎么做?除了template还有什么地方可以写的?我要求速度要快,不能说在一个函数里面,先new一个ActiveXDom,然后load一个xml,然后再去找节点。这种方法不能用。
saucer 2002-05-15
  • 打赏
  • 举报
回复
没错,但是你不应该在XSLT里的template那么做
ActiveLF 2002-05-15
  • 打赏
  • 举报
回复
顺便说一下,如果是服务器脚本,这些都是很简单的事情。
关键是客户端,能不能改xml节点呢?我的xml就是本地的。应该有权限可以更改吧?!!即使不能更改,为了写程序方便,读读总可以把?不然就得吧所有需要从xml节点获取的信息全部写在html节点里面。

to : ssm1226(雨中人) 我研究过,它没有这方面的应用。
to :saucer(思归) 在客户端的脚本中,也许我该换一种方法。但我仍然想知道答案! xml是转化成了html,但是原来的xml应该仍然保存着。察看原文件就可以看到嘛。
ssm1226 2002-05-15
  • 打赏
  • 举报
回复
建议你研究研究csdn的xsl


★★★一起去淋雨★★★

saucer 2002-05-15
  • 打赏
  • 举报
回复
你把XML转换成了HTML,怎么还能得到原来的XML节点??把你的XML文件贴出来,把你想生成的HTML说出来,我们帮你写XSLT样式表
ActiveLF 2002-05-15
  • 打赏
  • 举报
回复
感谢各位的帮助,现将结果公布如下:

suncom_zhu(乐也) 不成功,会使软件(ie,xmlspy)死掉
ssm1226(雨中人) 不对,我需要传入节点,不是值
tygh2000(峰) 不对,我需要的是XML节点,不是超文本节点
wangwenyou(王文友) 前一个不对,我需要xml节点,后一个,我觉得奇怪,test()不是函数,只是测试节点用的。在这里会有用么?我试了以下,没有任何反应。
saucer(思归) 不对,你把选择当前节点的东西当作字符串传入,结果里面的方法全是undefined

都不对阿,兄弟们,怎么办,,,,,,我需要吧当前的xml节点当做参数传入,然后使用dom方法对其进行操作。我想这个应该是支持的!有什么方法,高手请进阿!!!几百分相赠!!!
saucer 2002-05-14
  • 打赏
  • 举报
回复
try

<xsl:template match="XXX">
<td>
<xsl:attribute name="onclick">javascript:af('<xsl:value-of select="." />')</xsl:attribute>
</td>
</xsl:template>
wangwenyou 2002-05-14
  • 打赏
  • 举报
回复
this
ActiveLF 2002-05-14
  • 打赏
  • 举报
回复
阿!!,这么多方法,呵呵,诸位都试过没有?明日我把诸位的方法都试过之后,只要正确就给分。谢谢各位!!
suncom_zhu 2002-05-14
  • 打赏
  • 举报
回复
try:

<xsl:element name="td">
<xsl:attribute name="onclick">
javascript:af(.);
</xsl:attribute>
</xsl:element>
ssm1226 2002-05-14
  • 打赏
  • 举报
回复
<xsl:template match="XXX">
<td>
<xsl:attribute name="onclick">test(<xsl:value-of select="@id"/>)</xsl:attribute>
</td>
</xsl:template>



★★★一起去淋雨★★★

tygh2000 2002-05-14
  • 打赏
  • 举报
回复
<xsl:template match="XXX">
<td onclick="javascript:test(this)">
<xsl:value-of select="@id"/>
</td>
</xsl:template>
<![cdata[
function test(this)
{
alert(this.nodename);

}]]>
wangwenyou 2002-05-14
  • 打赏
  • 举报
回复
呵呵,也许是我会错你的意了
不过,如果你需要通过Javascript,可以
<xsl:template match="XXX">
<td onclick="javascript:af(this)">
</td>
</xsl:template>
如果是要在XSLT时处理
<xsl:template match="XXX">
<td onclick="javascript:af({text()})">
</td>
</xsl:template>

8,906

社区成员

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

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