未捕获的语法错误:意外的标识符

Uncaught SyntaxError: Unexpected identifier

本文关键字:意外 标识符 错误 语法      更新时间:2023-09-26

你好,我收到JS错误:

 Uncaught SyntaxError: Unexpected identifier

此处

<script type="text/javascript">
var cur_level = 1;
var ids_arr = new Array(<?php echo $max_level?>);
var im_here = new Array(<?php echo $max_level?>);
ids_arr[0] = 1;
im_here[0] = "|";
function displayData(id, level, used, title)
{
if(used){
    choice = document.getElementById('divv'+id).innerHTML;
    document.getElementById('test_div').innerHTML = choice;
} else {
    document.getElementById('test_div').innerHTML = ' No lerning paths to show.';
    updateLinksDiv(id, level, title);
  }
}
function updateLinksDiv(id, level, title)
{
var links_div_info = document.getElementById('links_parent_'+id);
var tmpHTML = '';
var here = '';
for(i=0;i<level;i++){
    here+= '->'+im_here[i];
    links_div_info = document.getElementById('links_parent_'+ids_arr[i]);
    tmpHTML += '<div id="divl_'+links_div_info.id+'">'+links_div_info.innerHTML+'</div>';
}
links_div_info = document.getElementById('links_parent_'+id);
tmpHTML += '<div id="divl_'+links_div_info.id+'">'+links_div_info.innerHTML+'</div>';
document.getElementById('links').innerHTML = tmpHTML;
ids_arr[i] = id;
im_here[i] = title;
}
</script>

<script type="text/javascript">
    window.onload=updateLinksDiv(1 , 0 , "|" ) ;
</script>

这些函数被假设为创建一个"展开",它打开了级别,一切都很好,直到我添加了"标题",我开始出现错误。这个错误把我指向最后一个,我就是找不到错误。。。我试着像这个一样调用displayData

onclick="displayData('.$cat->id.','.$cat->level.',0,'.$cat->title.')"

对我没有看到的有什么建议吗。?

感谢

在您的注释中,您说displayData(26,1,0,כיתה ג)已生成。这解释了症状,因为这里最后一个参数除了希伯来语字母外还包含一个空格,所以JavaScript interpreter将其视为两个由空格分隔的标识符,并且这些标识符可能是未定义的。Google Chrome会给出你描述的错误信息,而Firefox和IE则会更神秘地说,"在参数列表后丢失)。"

显然,生成的代码应该有引号中的最后一个参数,即"。您需要修改生成以包含它们。