У меня есть функция JavaScript, pop_item. Я должен вызвать это из PHP, поэтому мой PHP-код выглядит следующим образом:
echo '<a href = "javascript:pop_item('.$_code.',1)">Link </a>';
Ошибок нет, но pop_item не работает,
Вывод HTML для вышеуказанного:
<a href = "javascript:pop_item('ABC',1)">Link </a>
Когда вы говорите, что не работает ... что именно вы имеете в виду? Функция вообще работает? Вы включили функцию на странице?
Вы должны опубликовать функцию pop_item, я думаю, проблема в этом.
он не возвращает это значение, вы пропустите некоторые кавычки.






Я думаю, что проблема в функции pop_item, поскольку вызов кажется правильным. Попробуй это:
echo " <a href='#' onclick=\"pop_item(".$_code."', 1)\">link</a>";
Или же
echo '<a href = "javascript:alert('.$_code.')">Link</a>';
Посмотрим, работает ли это.
Судя по выводу HTML, в $ _code уже есть кавычки (при условии, что вывод HTML точный!).
Да ладно, это возможно, не подумал об этом.
Спасибо, Пим Ягер, теперь все работает нормально
Вероятно, ваша функция не определена ... Убедитесь, что вы ее где-то включили ...
в консоли ошибок Firefox выскочит сообщение об ошибке «pop_item () не определено»
Если вывод выглядит правильно, значит, PHP выполнил свою работу правильно и проблема в вашем коде JavaScript. Попробуйте запустить свою страницу с помощью Firebug или другого отладчика JavaScript, чтобы найти проблему.
Если ваша функция pop_item принимает строку в качестве первого параметра, это может произойти из-за отсутствия там некоторых символов кавычек. Используйте функцию интерполяции PHP, чтобы вы могли быть уверены, какая цитата какая. Примерно так:
echo "<a href=\"javascript: pop_item('$_code',1);\">Link</a>";
Если pop_item принимает какой-либо другой тип данных, то одинарные кавычки не нужны. Я также рекомендую использовать консоль ошибок JavaScript в браузере, чтобы узнать подробности проблемы.
Что вы имеете в виду под «звонком из PHP»? Ваш PHP-код будет работать на сервере, а код Javascript - в браузере пользователя.