我有一个文字输入:
<input class="stops" id="stops" onchange="stopsChanged();">
我目前的JavaScript看起来像:
<script>
function stopsChanged(){
alert();
}
</script>
但是当我运行我的代码时,我收到了这个错误:
ReferenceError:未定义stopsChanged
为什么我收到此错误?
答案 0 :(得分:1)
您必须在JS
所在的网页上添加<input>
个文件
<script type="text/javascript" src="path/to/your/file.js"></script>
修改强>
在JS
加载<input>
之后,您可能会在后加载DOM
个文件。通过这种方式,HTML会尝试在function
之前访问它。尝试将<script>
放入<head>
的{{1}}中,并确保它不在HTML
函数或类似的函数中。
答案 1 :(得分:0)
我认为您的问题是外部javascript文件中包含HTML标记。您不需要在.js文件的内容中使用html标记包装外部javascript代码。
但是,在HTML文件中,如果您使用的是外部文件参考,请确保在开始标记中定义脚本类型:
<script type="text/javascript" src="http://www.yoursource.com/file.js"></script>
在某些浏览器中,如果没有在开始标记中定义类型,它将不知道如何解析外部资源。
答案 2 :(得分:0)
以这种方式试试。
HTML:
<input id="stops">
JS:
document.getElementById('stops').onchange = function(){
console.log('test');
}
在功能和表现的分离方面也更好。