所以,我有一个PHP脚本的页面,其中包括一些JavaScript的所有我的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,所以我的功能的老版本的bug越来越多,这就是为什么一个完美的功能出现以创建错误。通过清除缓存解决。
另一个问题(我认为)是javascript函数实际上并没有在执行前加载。我通过将JavaScript放入单独的.JS文件并将其链接到.PHP文件来解决此问题。
还有更多的JavaScript?如果有任何错误,JavaScript解析在大多数情况下停止,所以其余不读取 - >意味着函数未加载,所以这就是它可能没有定义的原因.... – Nanne
这将有助于很多知道实际页面看起来像传递给浏览器的内容。 “查看源代码”为“