控制台显示“无法获取undefined
或null
引用的属性'value'” 。
我尝试使用getElementsByName
,但它仍然无法正常工作,甚至警报也不会显示。
<!doctype html>
<html>
<head>
<title>TUGAS PBW</title>
<script type="text/javascript">
function hitung() {
var hasil;
var balik;
var diskon;
var x = parseInt(document.getElementById("jumlah")[0].value);
var y = parseInt(document.getElementById("harga")[1].value);
var z = parseInt(document.getElementById("bayar")[2].value);
hasil = x * y;
if (hasil => 750000) {
diskon = hasil * 10 / 100;
hasil - diskon;
balik = z - hasil;
} else {
balik = z - hasil;
}
alert("\nTotal Kembalian =" + hasil);
}
</script>
</head>
<body>
<h1>toko buku</h1>
jumlah barang : <input type="text" id="jumlah"><br> harga barang : <input type="text" id="harga"><br> Uang yang dibayarkan : <input type="text" id="bayar"> <br>
<input type="button" id="btnHitung" value="Test" onclick="hitung();"><br><br>
</body>
</html>
答案 0 :(得分:0)
getElementById
返回一个元素,而不是元素数组。考虑甚至方法名称的语义……它通过元素的“ ID”(唯一标识符)“获得”一个“元素”。
删除数组索引语法:
var x = parseInt(document.getElementById("jumlah").value);
var y = parseInt(document.getElementById("harga").value);
var z = parseInt(document.getElementById("bayar").value);
编辑:这也是一个错字:
if ( hasil => 750000)
您似乎正在寻找的运营商是>=
:
if (hasil >= 750000)
您的代码中可能还会有其他错别字?您应该始终首先看到的是浏览器的开发控制台。错误消息将显示在此处。此外,浏览器的调试器可以帮助您找到问题所在。