Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法添加输入并在JavaScript中显示总和_Javascript_Html - Fatal编程技术网

无法添加输入并在JavaScript中显示总和

无法添加输入并在JavaScript中显示总和,javascript,html,Javascript,Html,为了学习JavaScript,我试着做一个计算器,作为开始,我试着做一个求和运算,输入2。但不知何故,有一个我看不见的问题。你能帮我吗 代码如下: <html> <body> <h1> JavaScript Test </h1> Sum The Nums Up! <br> <form> Number 1: <input t

为了学习JavaScript,我试着做一个计算器,作为开始,我试着做一个求和运算,输入2。但不知何故,有一个我看不见的问题。你能帮我吗

代码如下:

<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
    
  • 将输入标记id分配为
    n1
    n2
    ,您已将它们分配为名称,并根据id
    getElementById()引用它们
  • 1号:
    第二条:
    
    JavaScript测试
    把这些数字加起来!
    
    第一名:
    第二条:
    总和

    函数和() { var nn1=document.getElementById(“n1”).值; var nn2=document.getElementById(“n2”).值; var-sum=parseInt(nn1)+parseInt(nn2); 文件。填写(金额); }
    将onclick=“func();”更改为onclick=“sum();”,如果您希望保留现有的“表单”,并在
    #b
    中显示结果,请更改
    文档。写入(sum)
    to
    document.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>