我无法从`document.getElementById`中获取值

时间:2019-11-16 12:03:58

标签: javascript html

控制台显示“无法获取undefinednull引用的属性'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> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;harga barang : &nbsp; <input type="text" id="harga"><br> Uang yang dibayarkan :&nbsp;&nbsp;&nbsp;<input type="text" id="bayar"> <br>
  <input type="button" id="btnHitung" value="Test" onclick="hitung();"><br><br>
</body>

</html>

1 个答案:

答案 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)

您的代码中可能还会有其他错别字?您应该始终首先看到的是浏览器的开发控制台。错误消息将显示在此处。此外,浏览器的调试器可以帮助您找到问题所在。