Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从XSL运行JavaScript函数_Javascript_Xslt - Fatal编程技术网

无法从XSL运行JavaScript函数

无法从XSL运行JavaScript函数,javascript,xslt,Javascript,Xslt,我在XSL文件中有一个表单元素。我希望在同一个XSL文件中有一个JavaScript函数,以便在选中复选框时启用Submit按钮 这是表格- <form action="NewUserNavigation" method="post" name="NewUserNavigationForm"> <input name="eventName" type="hidden" value="NewUserNavigationEvent"/> <div class="sans

我在XSL文件中有一个表单元素。我希望在同一个XSL文件中有一个JavaScript函数,以便在选中复选框时启用Submit按钮

这是表格-

<form action="NewUserNavigation" method="post" name="NewUserNavigationForm">
<input name="eventName" type="hidden" value="NewUserNavigationEvent"/>
<div class="sansIcon">
    <input type="checkbox" name="chk" onClick="EnableSubmit()"><xsl:apply-templates   select="content[@name='chkbox']" mode="impl_expandContent"/></input>
                </div>
<div class="buttonBarPage">
<input name="Submit" class="primary" type="submit" value="Continue" disabled="true"/>
</div>
</form>

javascript函数需要包装在CDATA标记中,因为它不是有效的XML。您在CDATA中包装的任何内容都将按原样输出到您正在编写的文件(即html)。因此:


结束标记应该是
,而不是


顺便问一下,您知道吗,使用Saxon CE,您可以在不使用任何Javascript的情况下实现这一点?然后,您可以在样式表中编写模板规则,以响应用户输入(如按钮单击),并以任意方式修改HTML DOM,而无需使用Javascript DOM API。

将其包装在CDATA中没有坏处,但在这种情况下没有帮助。此代码片段中没有需要转义的特殊字符。使用CDATA包装没有帮助。我仍然会得到错误org.xml.sax.SAXParseException:非法顶级元素如果我替换为我没有得到错误的位置,并成功呈现页面。但问题仍然存在。。。javascript函数根本没有被调用。它在浏览器底部显示“页面错误”。@ASG:XSLT中没有
指令——您可能使用了一些供应商提供的专有扩展元素,它完全错误地驻留在XSLT命名空间中——我强烈建议不要使用它——因为它可能无法与其他XSLT处理器(浏览器)一起使用.@Dimitre。。。。以下是您要求的片段。您能帮我编写代码吗?没有提供XSLT转换,也没有提供转换的结果。不要指望我们当中最好的读心术的人会帮忙——更好的是,编辑问题并提供缺失的重要信息。
<content name = "chkbox">
    Yes, I understand and agree to the T&C.
</content>
<script type="text/javascript">
function EnableSubmit()
{
  alert("test");
  if(document.NewUserNavigationForm.chk.checked==true)
  {
    document.NewUserNavigationForm.Submit.disabled=false;
  }
  if(document.NewUserNavigationForm.chk.checked==false)
  {
    document.NewUserNavigationForm.Submit.enabled=false;
  }
}
</script>
org.xml.sax.SAXParseException: illegal top-level element
<script type="text/javascript"><![CDATA[
function EnableSubmit()
{
  alert("test");
  if(document.NewUserNavigationForm.chk.checked==true)
  {
      document.NewUserNavigationForm.Submit.disabled=false;
    }
    if(document.NewUserNavigationForm.chk.checked==false)
    {
      document.NewUserNavigationForm.Submit.enabled=false;
    }
  }
]]><script>