Uncaught SyntaxError: Неожиданный идентификатор - PullRequest
6 голосов
/ 08 января 2012

привет, я получаю ошибку 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.')"

любые предложения о том, чего я не вижу .?

спасибо

1 Ответ

8 голосов
/ 08 января 2012

В своем комментарии вы говорите, что генерируется displayData(26,1,0,כיתה ג). Это объясняет симптомы, поскольку здесь последний параметр содержит пробел в дополнение к буквам на иврите, поэтому интерпретатор JavaScript видит его как два идентификатора, разделенных пробелом, и идентификаторы, вероятно, не определены. Google Chrome выдает сообщение об ошибке, которое вы описываете, в то время как Firefox и IE говорят, более загадочно, «отсутствует» после списка аргументов ».

Очевидно, что сгенерированный код должен иметь последний параметр в кавычках, то есть 'כיתה ג'. Вам нужно изменить поколение, чтобы оно содержало их.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...