下面代码在chrome中运行报错:
...
<script type="text/javascript">
window.onload = function(){
var shownum = document.getElementById("shownum");
function getnum(value) {
alert(value);
shownum.value = value;
}
}
</script>
...
...
<div class="num">
<input class="btn" type="button" value="7" onclick="getnum((this.value));"></input>
<input class="btn" type="button" value="8" onclick="getnum(this.value);"></input>
<input class="btn" type="button" value="9" onclick="getnum(this.value);"></input>
</div>
...
报错原因
计算机.html:103 Uncaught ReferenceError: getnum is not defined
at HTMLInputElement.onclick
解决方法:注释掉window.onload
<script type="text/javascript">
// window.onload = function(){
var shownum = document.getElementById("shownum");
function getnum(value) {
alert(value);
shownum.value = value;
}
// }
</script>
在这里使用window.onload,会等body里面的页面和图片加载完才会执行script里面的代码。
当页面加载到οnclick="getnum(this.value);"的时候,window.οnlοad=function(){}里面的function getnum(value)还没有被声明,这时候找不到function getnum(value)就会报Uncaught ReferenceError: getnum is not defined at HTMLInputElement.onclick 的错误,所以注释掉window.onload事件即可。