未捕获的类型错误:无法设置属性“value”为 null,JavaScript
2014-06-26
1433
使用此代码时,我总是收到此错误。 SRC --> http://jsfiddle.net/MYG2C/1/
JS
<input class="menu1" type="submit" value="Total : 0.00" onclick="m.getTotal()" id="total" />
HTML
var m = {
total:0,
getTotal: function () {
this.total = this.total.toFixed(2);
document.getElementByID("total").value = "Total : " + this.total;
},
}
m.total = 5;
//Clicking the button should now update the text on the button.
2个回答
两个问题...
-
getElementByID
应为getElementById
-
this.total = this.total.toFixed(2);
第一次会起作用,因为total
是一个数字。之后它变成一个字符串,而toFixed
不是字符串上的有效方法
Anthony Chu
2014-06-26
正如 anthony chu 所说,您有一个拼写错误,下面是修改后的脚本,用于检查类型并避免 Uncaught TypeError。
var m = {
total:8,
getTotal: function () {
if(typeof this.total == "number")
{
console.log("executed");
this.total = this.total.toFixed(2);
document.getElementById("total").value = "Total : " + this.total;
}
},
}
JSFIDDLE : http://jsfiddle.net/8J2G7/4/
Krish
2014-06-26