2017-06-23 7 views
0

私は以下のXSLTを持っています。ボタンを1つクリックしてJavaScriptを呼び出すだけです。しかし、そのアラートは表示されません。私もonload関数でそれを呼び出すことを試みたが、それも動作しません。助けてください。ありがとう。XSLTのJavascriptが機能しない

<xsl:stylesheet version="1.0" 
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="html" /> 
    <!-- INCLUDE TEMPLATES --> 
    <xsl:include href="../../../../xsl/Common.xsl" /> 
    <xsl:include href="../../../xsl/DMenu/DMenuCommon.xsl"/> 
    <!-- MAIN TEMPLATE --> 
    <xsl:template match="/"> 
    <html> 
<head> 
<script type="text/javascript"> 

<xsl:comment> 

function ManageAppButton() 
      { 
      alert("XX"); 
      } 

</xsl:comment> 

</script> 

</head> 
     <body onload="ManageAppButton();"> 
    <table align="centre" border="1"> 
    <tr><thead align="center">Deployed</thead></tr> 
       <tr> 
        <th>Application</th> 
        <th>Tickets</th>      
       </tr> 
      <tbody> 
       <xsl:for-each select="root/DepRs/DepRd"> 
        <tr><td><xsl:value-of select="application" /></td> 
        <td><xsl:value-of select="notickets" /></td> 
       </tr> 
       </xsl:for-each> 
       <tr><td>asf</td></tr> 
      </tbody> 
     </table> 
     <button type="button"> 
     <xsl:attribute name="onClick" >ManageAppButton();</xsl:attribute><font style="font-size:10px">Update</font></button>  
     </body> 
     </html> 
</xsl:template> 
</xsl:stylesheet> 
+1

XSLTがJavascriptを呼び出さないことを明確にしてください。 XSLTが行っているのは、埋め込まれたJavaScriptを含むHTMLページを生成することだけです。必要なHTMLを手作業でコーディングし、テストしてから、それを生成するために必要なXSLTを作成してみてください。 (実際にHTMLページを生成するのではなく、実際にユーザーイベントを直接処理できるXSLTスタイルシートが必要な場合は、Saxon-JSをご覧ください)。 –

答えて

0

JavaScriptスクリプトタグのHTMLコメントについては、ベストプラクティスに関してはthis linkを参照してください。これはもはや推奨されず、いくつかの問題を引き起こす可能性があります。 xsl:commentタグを削除し、スクリプトノード内にJavaScriptを置いてみてください。

関連する問題