如何将 xsl 变量值传递给 javascript 函数

发布于 2024-11-10 11:16:23 字数 840 浏览 0 评论 0原文

我正在尝试将 xsl 变量值传递给 javascript 函数。

我的 xsl 变量

<xsl:variable name="title" select="TITLE" />

正在传递这样的值,

<input type="button" value="view" onclick="javascript:openPage('review.html?review=$title')" />

我已经以不同的可能方式尝试了上面的代码,但出现了错误。

<script type="text/javascript">
                    function jsV() {
                    var jsVar = '<xsl:value-of select="TITLE"/>';
                    return jsVar;
                    }
                </script>

                <input type="button" value="view" onclick="javascript:openPage('javascript:jsV()')" />

I also tried 

<input type="button" value="view" onclick="javascript:openPage('review.html?review='\''
    +$title+'\')" />

有其他方法还是我做得不对?

i am trying to pass an xsl variable value to a javascript function.

My xsl variable

<xsl:variable name="title" select="TITLE" />

i'm passing the value like this

<input type="button" value="view" onclick="javascript:openPage('review.html?review=$title')" />

i have tried the above code in different possible ways but i gets errors.

<script type="text/javascript">
                    function jsV() {
                    var jsVar = '<xsl:value-of select="TITLE"/>';
                    return jsVar;
                    }
                </script>

                <input type="button" value="view" onclick="javascript:openPage('javascript:jsV()')" />

I also tried 

<input type="button" value="view" onclick="javascript:openPage('review.html?review='\''
    +$title+'\')" />

Is there alternative way or am i not doing it right?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

樱&纷飞 2024-11-17 11:16:23

您忘记了 {}:

<input type="button" value="view" onclick="javascript:openPage('review.html?review={$title}')" />

You forgot about {}:

<input type="button" value="view" onclick="javascript:openPage('review.html?review={$title}')" />
热情消退 2024-11-17 11:16:23

下面是一个如何执行此操作的工作示例:

此转换:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="/*">
   <xsl:variable name="vTitle" select="TITLE"/>

     <input type="button" value="view"
     onclick="javascript:openPage('review.html?review={$vTitle}')" />
 </xsl:template>

</xsl:stylesheet>

应用于此 XML 文档(未提供 XML 文档!):

<contents>
 <TITLE>I am a title</TITLE>
</contents>

生成所需的正确内容结果

<input type="button" value="view" 
 onclick="javascript:openPage('review.html?review=I am a title')"/>

解释:使用AVT(属性值模板)。

Here is a working example how to do this:

This transformation:

<xsl:stylesheet version="1.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
 <xsl:output omit-xml-declaration="yes" indent="yes"/>
 <xsl:strip-space elements="*"/>

 <xsl:template match="/*">
   <xsl:variable name="vTitle" select="TITLE"/>

     <input type="button" value="view"
     onclick="javascript:openPage('review.html?review={$vTitle}')" />
 </xsl:template>

</xsl:stylesheet>

when applied on this XML document (no XML document was provided!):

<contents>
 <TITLE>I am a title</TITLE>
</contents>

produces the wanted, correct result:

<input type="button" value="view" 
 onclick="javascript:openPage('review.html?review=I am a title')"/>

Explanation: Use of AVT (Attribute Value Templates).

深空失忆 2024-11-17 11:16:23

还可以通过执行以下操作从同一文件中的 JavaScript 代码访问 xsl 变量:

<script type="text/javascript">
    function getTitle() {
        var title = <xsl:value-of select="$title"/>;
        return title;
    }
</script>

It is also possible to access xsl variable from a JavaScript code in the same file by doing the following:

<xsl:variable name="title" select="TITLE"/>

<script type="text/javascript">
    function getTitle() {
        var title = <xsl:value-of select="$title"/>;
        return title;
    }
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文