[英]How do I get a less than in a javascript for loop in XSL to work?
I am using CDATA to escape the script but in IE8's debugger I still get this message: "Expected ')'" in the for loop conditions. 我正在使用CDATA来逃避脚本,但在IE8的调试器中,我仍然在for循环条件中收到此消息:“Expected')'”。 I am assuming it still thinks that the ;
我假设它仍然认为; in the
<
在
<
generated by CDATA is ending the loop conditions. 由CDATA生成的结束循环条件。
Original script in my XSL template: 我的XSL模板中的原始脚本:
<script type="text/javascript" language="javascript">
<![CDATA[
function submitform(form){
var oErrorArray = new Array();
for (i=0;i<form.length;i++)
eval("oErrorArray["+i+"]=oError"+i);
var goForm = true;
for(i=0;i<form.length;i++) {
oErrorArray[i].innerHTML = "";
if(form[i].value="")){
oErrorArray[i].innerHTML = "Error - input field is blank";
goForm = false;
}
}
if(goForm == true) form.submit();
}
function resetform(form){
form.reset();
}
]]>
</script>
Code generated after transformation (from IE8 debugger) : 转换后生成的代码(来自IE8调试器) :
<script type="text/javascript" language="javascript">
function submitform(form){
var oErrorArray = new Array();
for (i=0;i<form.length;i++)
eval("oErrorArray["+i+"]=oError"+i);
goForm = true;
for(i=0;i<form.length;i++) {
oErrorArray[i].innerHTML = "";
if(form[i].value="")){
oErrorArray[i].innerHTML = "Error - input field is blank";
goForm = false;
}
}
if(goForm == true) form.submit();
}
function resetform(form){
form.reset();
}
</script>
Error reported by IE8 debugger: Expected ')' login.xml, line 29 character 30 (which is right after the first "form.length") IE8调试器报告错误: 预期')'login.xml,第29行30字符 (紧接在第一个“form.length”之后)
You need to disable output escaping explicitly. 您需要显式禁用输出转义。
http://www.w3.org/TR/xslt#disable-output-escaping http://www.w3.org/TR/xslt#disable-output-escaping
As Kyle note in the comments, in particular you need to 正如凯尔在评论中指出的那样,尤其需要
(1) remove the CDATA tags and (1)删除CDATA标签和
(2) insert <xsl:text disable-output-escaping="yes"><</xsl:text>
where you need the character not to be escaped. (2)插入
<xsl:text disable-output-escaping="yes"><</xsl:text>
,您需要转义该字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.