无法添加输入并在JavaScript中显示总和
为了学习JavaScript,我试着做一个计算器,作为开始,我试着做一个求和运算,输入2。但不知何故,有一个我看不见的问题。你能帮我吗 代码如下:无法添加输入并在JavaScript中显示总和,javascript,html,Javascript,Html,为了学习JavaScript,我试着做一个计算器,作为开始,我试着做一个求和运算,输入2。但不知何故,有一个我看不见的问题。你能帮我吗 代码如下: <html> <body> <h1> JavaScript Test </h1> Sum The Nums Up! <br> <form> Number 1: <input t
<html>
<body>
<h1> JavaScript Test </h1>
Sum The Nums Up!
<br>
<form>
Number 1: <input type="text" name="n1" /><br>
Number 2: <input type="text" name="n2" /><br>
</form>
<button id="b" onclick="func();" />Sum</button>
<p id="b"></p>
<script type="text/javascript">
function sum() {
var nn1 = document.getElementById("n1").value;
var nn2 = document.getElementById("n2").value;
var sum = parseInt(nn1) + parseInt(nn2);
document.write(sum);
}
</script>
</body>
</html>
JavaScript测试
把这些数字加起来!
第一名:
第二条:
总和
函数和(){
var nn1=document.getElementById(“n1”).值;
var nn2=document.getElementById(“n2”).值;
var-sum=parseInt(nn1)+parseInt(nn2);
文件。填写(金额);
}
更换:
function sum() {
document.write(sum);
与:
这将阻止您为同一变量名分配两种不同的类型/值。(问题中有一个
sum
函数和一个sum
变量。)
替换:
function sum() {
document.write(sum);
与
此代码段将sum
的结果添加到
(例如,结果可能是:18
),而不是任意将其添加到HTML的末尾
最后,替换:
1号:
第二条:
与:
1号:
第二条:
document.getElementById
在HTML中查找id
属性,而不是名称
有两个问题:-
onclick=“func();”
更改为onclick=“sum();”
,您调用了错误/未定义的函数Sum
n1
和n2
,您已将它们分配为名称,并根据idgetElementById()引用它们
1号:
第二条:
JavaScript测试
把这些数字加起来!
第一名:
第二条:
总和
函数和()
{
var nn1=document.getElementById(“n1”).值;
var nn2=document.getElementById(“n2”).值;
var-sum=parseInt(nn1)+parseInt(nn2);
文件。填写(金额);
}
将onclick=“func();”更改为onclick=“sum();”,如果您希望保留现有的“表单”,并在#b
中显示结果,请更改文档。写入(sum)
todocument.getElementById('b')。innerHTML=sum
+文档。getElementById('n1')
不会飞行:输入元素没有id属性,只有name属性<代码>文档。写是邪恶的,顺便说一句。@EliasVanOotegem:没有邪恶()那么邪恶。
;-)@瑟布鲁斯:当然,那是邪恶的,而不仅仅是邪恶的:-)命名的总数真的重要吗?我认为onclick=“sum();”中的sum()会毫无问题地指向函数sum(),并.write(sum)
将指出var-sum
的问题是的,我知道var-sum
的作用域是函数,但以这种方式重复使用名称是不好的。只需忘记一次var
,您的函数在运行后就不存在了。这是可行的,但“有风险”。这就是为什么我建议change.Hmmm true,使用strict
在这种情况下也有帮助:)
<html>
<body>
<h1> JavaScript Test </h1>
Sum The Nums Up!
<br>
<form>
Number 1: <input type="text" id="n1" name="n1"/><br>
Number 2: <input type="text" id="n2" name="n2"/><br>
</form>
<button id="b" onclick="sum();"/>Sum</button>
<p id="b"></p>
<script type="text/javascript">
function sum()
{
var nn1 = document.getElementById("n1").value;
var nn2 = document.getElementById("n2").value;
var sum = parseInt(nn1) + parseInt(nn2);
document.write(sum);
}
</script>
</body>
</html>