Я использую CDATA для выхода из сценария, но в отладчике IE8 я по-прежнему получаю это сообщение: «Ожидается») в условиях цикла for.Я предполагаю, что это все еще думает, что;в <
, генерируемом 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<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>
Ошибка, обнаруженная отладчиком IE8: Ожидается ')' login.xml, строка 29 символов 30 (которая находится сразу после первой «form.length»))