Синтаксическая ошибка при вызове функции JavaScript - PullRequest
0 голосов
/ 06 мая 2020

Когда я нажимаю на ячейку таблицы, я хочу, чтобы моя программа запускала функцию, передавая параметр $venues[$y][1]. Однако всякий раз, когда я нажимаю на ячейку, я получаю сообщение об ошибке:

SyntaxError: expected expression, got '}'

Вот вызываемая функция:

<script type="text/javascript">
function displayPicture(x){
    alert(x);
}
</script>

Вот строка, которая вызывает функцию (ее html и php):

echo '<td class="venueNames" onclick="displayPicture("'.$venues[$y][1].'")">'.$venues[$y][1].'</td>';

Для этого примера предположим, что $venues[$y][1] - это Уэмбли.

Проблема в том, что я передаю php переменная как параметр для функции javascript?

1 Ответ

0 голосов
/ 06 мая 2020

Вероятно, у вас проблема с маскированием кавычек. Попробуйте следующее:

echo '<td class="venueNames" onclick="displayPicture(\''.$venues[$y][1].'\')">'.$venues[$y][1].'</td>';

или

echo "<td class=\"venueNames\" onclick=\"displayPicture('{$venues[$y][1]}')\">{$venues[$y][1]}</td>";

В исходном коде атрибут onclick будет отображаться браузером как onclick="displayPicture(", т. Е. Вторая двойная кавычка. рассматривается как конец атрибута onclick, а не как внутренняя кавычка, заключающая строку в вызове функции.

...