我只是想让getElementById工作,但我可以,我使用chrome得到这个错误:
Uncaught ReferenceError: calculate is not defined
这是html:
<html>
<body>
<table>
<tr><td>Input the test variable:</td>
<td><input id="x" onchange="calculate();"></td></tr>
<tr><th>Calculate the number</th>
<td><button onclick="calculate();">Calculate</button></td></tr>
</table>
<script src="test1javascript.js"></script>
</body>
</html>
这是javascript:
window.onload=function calculate(){
var x=document.getElementById("x");
if(x==5){
alert(x);
}
}
答案 0 :(得分:2)
您正在window.onload
指定功能。此外,您将相同的功能绑定到input onchange
以及button onclick
。而是将函数声明如下,并将函数仅绑定到button onclick
。另请注意.value
document.getElementById("x")
function calculate(){
var x=document.getElementById("x").value;
if(x==5){
alert(x);
}
}
最好还在<head></head>
中添加脚本文件并指定type
属性:
<html>
<head>
<script src="test1javascript.js" type="text/javascript"></script>
</head>
<body>
<table>
<tr><td>Input the test variable:</td>
<td><input id="x" onchange="calculate();"></td></tr>
<tr><th>Calculate the number</th>
<td><button onclick="calculate();">Calculate</button></td></tr>
</table>
</body>
</html>
document.getElementById
会返回对该元素的引用(顾名思义为getElement
,但不包含其value
)及其所有属性。在上面的例子中它是一个按钮。您需要使用其所需的属性来访问所需的属性
详细了解here。
答案 1 :(得分:0)
首先应该定义你的函数,然后使用onload:
function calculate(){
var x=document.getElementById("x");
if(x==5){
alert(x);
}
}
window.onload = calculate;
答案 2 :(得分:0)
您必须自己定义calculate
:
function calculate() {
// Added .value because you want the content and not the object itself
var x = document.getElementById("x").value;
if (x == 5) {
alert(x);
}
}
然后将其添加到window.onload
事件:
window.addEventListener('load', calculate);