gpt4 book ai didi

javascript - 如何在 XSL 的 javascript for 循环中使用 less than 来工作?

转载 作者:数据小太阳 更新时间:2023-10-29 02:09:36 24 4
gpt4 key购买 nike

我正在使用 CDATA 对脚本进行转义,但在 IE8 的调试器中,我仍然在 for 循环条件中收到此消息:“Expected ')'”。我假设它仍然认为 ;在 CDATA 生成的 < 中是结束循环条件。

我的 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>

转换后生成的代码(来自IE8调试器):

<script type="text/javascript" language="javascript">
function submitform(form){
var oErrorArray = new Array();
for (i=0;i&lt;form.length;i++)
eval("oErrorArray["+i+"]=oError"+i);
goForm = true;
for(i=0;i&lt;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>

IE8 调试器报错:Expected ')' login.xml, line 29 character 30 (在第一个“form.length”之后)

最佳答案

您需要明确禁用输出转义。

http://www.w3.org/TR/xslt#disable-output-escaping

正如 Kyle 在评论中指出的那样,您尤其需要

(1) 删除 CDATA 标签和

(2) 插入 <xsl:text disable-output-escaping="yes">&lt;</xsl:text>您需要不转义字符的地方。

关于javascript - 如何在 XSL 的 javascript for 循环中使用 less than 来工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3035058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com