Итак, у меня есть страница, где PHP-скрипт отображает весь мой HTML, включая некоторый javascript.Предполагается, что рассматриваемая функция javascript выполняется при изменении поля выбора, но каждый раз, когда я изменяю поле выбора, в консоли javascript выдается сообщение о том, что функция не определена.
Я даже уменьшилфункция простого отображения окна предупреждения, чтобы помочь в отладке, но я все еще получаю сообщение об ошибке.
Вот функция PHP, ответственная за создание поля выбора:
function CreateMainSelect()
{
$html = "<select name=\"main_select\" onChange=\"test()\" id=\"main_select\" >";
$html .= "<option value='all'>All</option>";
$html .= "<option value='past'>Past</option>";
$html .= "<option value='current_and_future'>Current and Future</option>";
$html .= "<option value='date_range'>Date Range</option>";
$html .= "</select>";
return $html;
}
Совершенно не нужно иметьэто в функции, но мне нужно немного изменить другую аналогичную функцию, уже имеющуюся на месте, поэтому, пожалуйста, не расстраивайтесь из-за меня !!
А вот функция повторяющегося JavaScript:
echo '<script type="text/javascript">';
echo 'function test()';
echo '{';
echo 'alert("hello world");';
echo '}';
echo '</script>';
Javascript выводится в нижней части файла PHP.Я также пытался переместить его наверх, но это ничего не изменило.
РЕДАКТИРОВАТЬ: Спасибо за ответы всем, все ваши советы были очень полезны.Я разобрался в проблеме и целых две вещи пошли не так.Первая проблема заключалась в том, что мой браузер (я думаю, в любом случае) кэшировал мой javascript, так что вызывались более старые версии с ошибками моей функции, и именно поэтому появилась прекрасная функция для создания ошибок.Решена путем очистки моего кэша.
Другая проблема (я думаю) заключалась в том, что функция javascript фактически не загружалась до того, как выполнялась.Я решил эту проблему, поместив javascript в отдельный файл .JS и связав его с файлом .PHP.