Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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 无法使用getElementByTagName从输入字段收集值_Javascript_Arrays_Getelementsbytagname - Fatal编程技术网

Javascript 无法使用getElementByTagName从输入字段收集值

Javascript 无法使用getElementByTagName从输入字段收集值,javascript,arrays,getelementsbytagname,Javascript,Arrays,Getelementsbytagname,我在学校里学习JS,这个任务是一个家庭作业,它让我很痛苦 我需要创建一个输入字段和两个按钮。第一个按钮需要根据第一个输入值创建给定数量的输入元素,第二个按钮应该从新输入中获取所有值并求和 我根本无法从新的输入字段中获取值,一周内我无法从这一点开始移动,我读到的所有内容都没有帮助。这是我到目前为止编写的代码,请记住,我是一个完全的初学者,这项任务对我来说非常重要 函数myFunction(){ var i=document.getElementById(“input1”).value; 对于(v

我在学校里学习JS,这个任务是一个家庭作业,它让我很痛苦

我需要创建一个输入字段和两个按钮。第一个按钮需要根据第一个输入值创建给定数量的输入元素,第二个按钮应该从新输入中获取所有值并求和

我根本无法从新的输入字段中获取值,一周内我无法从这一点开始移动,我读到的所有内容都没有帮助。这是我到目前为止编写的代码,请记住,我是一个完全的初学者,这项任务对我来说非常重要

函数myFunction(){
var i=document.getElementById(“input1”).value;

对于(var j=1;j更新myFunction2:

 function myFunction2() {
      var arr = document.getElementsByTagName("INPUT");
      var sum = 0;
      for (var i = 0; i < arr.length; i++) {
        var ar = document.getElementsByTagName("INPUT")[i].value;
        sum = sum + parseInt(ar);
      }
      document.getElementById("test").innerHTML = sum;
    }
函数myFunction2(){
var arr=document.getElementsByTagName(“输入”);
var总和=0;
对于(变量i=0;i
您不再需要for循环。让我们声明变量sum并向其中添加值。
如果不想从第一个输入中添加值,请从1开始循环。

仔细阅读这一行:

document.getElementsByTagName("INPUT").value`
它说“get elements”,所以有不止一个元素,但是你要求“value”,所以只有一个值;浏览器如何知道你想要哪个值

您已经运行了此函数,并将结果放入
arr
,然后使用计数器
i
在其上循环。因此,您希望从中获取值


然后重用该变量将数字放入;这是一个坏主意,如果选择更好的变量名,如
listOfInputElements
listOfValues
,您就不会有这种诱惑,因为
document.getElementsByTagName(“输入”)需要向新创建的输入添加特定的类
返回带有
#input1的集合

下面是一个代码:

<!DOCTYPE html>
<html>
    <head>
         <title>Sabiranje</title>
    </head>
<body>
<p>Unesite izabrani broj clanova niza</p>
<input id="input1"></input><br>
<button onclick="myFunction()">dodaj</button>
<button onclick="myFunction2()">saberi</button><br>
<p id="test"></p>
    <script>
    function myFunction(){
        var i = document.getElementById("input1").value;
        for (var j=1; j<=i; j++){
            var inp = document.createElement("INPUT");
            inp.className = 'new-inp';
            document.body.appendChild(inp);
        }
    }

    function myFunction2(){
        var arr = document.getElementsByClassName("new-inp");
        var sum = 0;
        for (var i = 0; i < arr.length; i++){
            sum += parseFloat(arr[i].value);
        }

        document.getElementById("test").innerHTML = sum;
    }
    </script>
</body>
</html>

萨比兰杰
乌内斯特·伊扎布拉尼·布罗伊·克兰诺娃·尼扎


多达伊 萨贝里

函数myFunction(){ var i=document.getElementById(“input1”).value;
对于(var j=1;j我修复了您的代码,但它可以编写得更好

您在
myFunction2()
中遇到了一些逻辑问题。要将所有输入值相加以不包括#input1,请小心。我在生成的输入上添加了类
生成的输入
,以便可以单独提取它们

函数myFunction(){
var i=document.getElementById(“input1”).value;

对于(var j=1;j),我使用了这个函数,而不是原始的,脚本工作正常,需要做一些小的美学修复,并将发送家庭作业。谢谢lot@Draza你说的“审美修正”是指“改变,让老师不那么容易发现我作弊了”吗?您仍然面临任何问题吗?@GiteshPurbia-没有问题,所有问题都与您的修复程序一起工作,thanks@IMSoP-不,我在HTML中添加了一些和样式以使其看起来更好