javascript - 如何添加两个输入值并显示在第三个输入框中??像这样简单的 JavaScript 可以帮助我在哪里出错
问题描述
1)我想将两个输入框的值相加,并在第三个输入中显示。它显示一个错误
2)错误:未捕获的TypeError:无法在HTMLButtonElement.onclick(js.php:12)处读取总和(js.php:21)的null属性“值”
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
<script type="text/javascript">
function sum() {
var val1 = document.getElementById('val1').value;
var val2 = document.getElementById('val2').value;
var sum = val1 + val1;
document.getElementById('total').value = sum;
}
</script>
</head>
<body>
<input type="text" name="val1"><br><br>
<input type="text" name="val2"><br><br>
<input disabled name="total" value=""><br><br>
<button type="button" onclick="sum()" name="btn">Add</button>
</body>
</html>
我期望两个输入的总和,但它什么也没显示。
解决方案
document.getElementsByName
返回元素的 NodeList,因此它没有 property .value
。
这是getElementsByName
片段。
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
<script type="text/javascript">
function sum() {
var val1 = document.getElementsByName('val1')[0].value;
var val2 = document.getElementsByName('val2')[0].value;
var sum = parseInt(val1) + parseInt(val2); // by default it appends a string. Hence, parseInt to parse string to integer
document.getElementsByName('total')[0].value = sum;
console.log(document.getElementsByName('total')[0].value);
}
</script>
</head>
<body>
<input type="text" name="val1"><br><br>
<input type="text" name="val2"><br><br>
<input type="hidden" name="total" value=""><br><br>
<button type="button" onclick="sum()" name="btn">Add</button>
</body>
</html>
这是getElementById
片段
<!DOCTYPE html>
<html>
<head>
<title>JavaScript</title>
<script type="text/javascript">
function sum() {
var val1 = document.getElementById('val1').value;
var val2 = document.getElementById('val2').value;
var sum = parseInt(val1) + parseInt(val1); // by default it appends a string. Hence, parseInt to parse string to integer
document.getElementById('total').value = sum;
console.log(document.getElementById('total').value);
}
</script>
</head>
<body>
<input type="text" name="val1" id="val1"><br><br>
<input type="text" name="val2" id="val2"><br><br>
<input type="hidden" name="total" value="" id="total"><br><br>
<button type="button" onclick="sum()" name="btn">Add</button>
</body>
</html>
推荐阅读
- reactjs - 如何使用缓存/散列输出文件停止 webpack
- javascript - 如何获取 html 标签的属性?
- python - 有没有办法在嵌入之前将用户 ID 转换为他们的用户名?
- java - Spring Data 未提交到数据库
- android-studio - 如何在另一个活动中使用一个活动的 onActivityForResult
- wordpress - wordpress核心中activate_plugin函数的解释
- haskell - 在 map 函数中查找当前元素的索引
- c# - 如何在 ASP Web 表单中添加附件,但不上传到服务器?
- java - 在 Firebase 中增加价值和存储
- react-native - React Native MapView 不滚动,缩小。那么我该如何实现呢?