Javascript 如何在<;中使用变量而不是字符串;xsl:if test=";包含(字符串,searchedforstring)"&燃气轮机;

Javascript 如何在<;中使用变量而不是字符串;xsl:if test=";包含(字符串,searchedforstring)"&燃气轮机;,javascript,xslt,contains,Javascript,Xslt,Contains,xsl contains函数使用字符串值。。。但是如何动态分配searchedforstring的值呢?应该可以将html表单中文本输入字段的值分配给变量,并将其用作xsl文档中搜索字符串的值 下面的脚本片段获取输入文本的值,并将其分配给全局变量strName*。问题是使用strName的值代替搜索的字符串 <script language="text/javascript"> var strName; function nameDetails() {var strName = ge

xsl contains函数使用字符串值。。。但是如何动态分配searchedforstring的值呢?应该可以将html表单中文本输入字段的值分配给变量,并将其用作xsl文档中搜索字符串的值

下面的脚本片段获取输入文本的值,并将其分配给全局变量strName*。问题是使用strName的值代替搜索的字符串

<script language="text/javascript">
var strName;
function nameDetails()
{var strName = getElementById("txtField1").value;}
</script>

var-strName;
函数名详细信息()
{var strName=getElementById(“txtField1”).value;}

您的问题并不完全清楚,但我认为这可能就足够了

您可以将该值分配给XML文档中的某个节点,然后从XSL中获取该值(可能将其分配到XSL变量或其他内容中)。然后可以在XSL中使用XSL变量


除非我误解了,在这种情况下,您能详细说明一下吗。

您问题的内容似乎与XSL没有任何关系。我猜您正在寻找一种将参数传递给XSL处理的方法。我的回答很可能提供一些线索。如果您可以更详细地澄清您的问题,那么也许可以制定一个更具体的示例。

正如anthony指出的,我认为您希望在样式表中使用一个参数,以便您可以传入要匹配的值

使用您的样式表,我添加了param“author”,您可以传入任何值

<?xml version='1.0'?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:param name="author"/>
  <xsl:output method="html"
     omit-xml-declaration="yes"/>

  <xsl:template match="/">
    <html>
       <head>
       <title>books example</title>
       </head>

    <body>
       <xsl:apply-templates select="//book"/>
    </body>
    </html>
  </xsl:template>


  <xsl:template match="book">
       <xsl:if test="contains(author, $author)">

       <DIV>
         <I><xsl:value-of select="title"/></I> by
         <J><xsl:value-of select="author"/></J> genre
         <B><xsl:value-of select="book_genre"/></B>

       </DIV>
     </xsl:if>
  </xsl:template>
  </xsl:stylesheet>

你能详细说明一下吗。另外,请编辑代码的第一行,使其结尾处有一个*/号。嗨,詹姆斯,我创建了一个示例来让事情更清楚。我已经把细节写进了word文档。。。这似乎是最简单的,你可以检索,并包括一个全面的看法。或者,我将XML文件发布到,XSL文件位于。。。希望你能帮忙嗨,我已经创建了一个例子,让事情更清楚。我已经把细节写进了word文档。。。这似乎是您可以从eyle.org/XSLcontainsExample.doc检索到的最简单的内容,其中包括一个全面的视图。或者,我将XML文件发布到eyle.org/books1.XML,XSL文件位于eyle.org/contains1books.XSL。。。希望你能帮助-
xslProc.addParameter("author", strName);