Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.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/5/reporting-services/3.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_Input_Count_Add - Fatal编程技术网

在Javascript中,如何使用加号进行计数是可选的?

在Javascript中,如何使用加号进行计数是可选的?,javascript,html,input,count,add,Javascript,Html,Input,Count,Add,我正在用javascript制作一个计算器,但我希望这个人可以在计数中添加任意多的数字,但我不能在js上使用这个,让它可以使用3个以上的数字,事实上,我只使用3个数字,如果你输入的数字少于或多于3个,它就不起作用了:(有人能帮我吗 代码如下: 函数添加_字段(){ document.getElementById('linee')。innerHTML+=''; } 函数pluscont(){ var number1=n1.数值; var number2=n2.0的数值; var numberx=

我正在用javascript制作一个计算器,但我希望这个人可以在计数中添加任意多的数字,但我不能在js上使用这个,让它可以使用3个以上的数字,事实上,我只使用3个数字,如果你输入的数字少于或多于3个,它就不起作用了:(有人能帮我吗

代码如下:

函数添加_字段(){
document.getElementById('linee')。innerHTML+='';
}
函数pluscont(){
var number1=n1.数值;
var number2=n2.0的数值;
var numberx=nx.值;
var结果=评估(编号1)+评估(编号2)+评估(编号X);
visor.value=结果;
}

+

索玛
您不能一次性完成此计算。相反,您需要使用一个循环和一个变量作为临时结果

这里有一些伪代码可以帮助您:

//This means "addNumber()" will be called when you click "button"
document.getElementById("button").addEventListener("click", addNumber());

var result = 0;

function addNumber()
{
    var input_string = document.getElementById("inputField");
    var input = parseInt(input_string);

    //If the user added something that is not a number, dismiss it.
    if(isNaN(input)) return;

    result += input;
    document.getElementById("result").innerHTML = result;
}

请记住,这不是实际的JS代码,因此您需要进行一些调整。但是,它应该可以帮助您看到哪里出了问题。

有几种方法可以做到这一点,可能比我所做的更优雅。不过,下面的方法似乎可行


+

索玛 _字段的数量=2; 函数add_fields(){ _字段数++; document.getElementById('linee')。innerHTML+=''; } 函数pluscont(){ var合计=0;
对于(var i=1;i,在本例中可以使用类选择器,在这种情况下,可以向所有文本输入添加一个类,然后通过命令选择它们 querySelectorAll()

对你的代码做一点小小的修改

addFields函数中的第一个更改是添加将保留在所有输入中的类

第二次更改添加功能

我们将实现一个循环来传递类相等的所有输入,我们将创建一个变量来负责添加值​​后不久我们就可以用该字段的显示值为您显示总和了

紧紧拥抱

<script>

function add_fields(){
 document.getElementById('linee').innerHTML += '<input type="number" 
class="teste">';
}

function soma(){

    //seleciona todos os campos com a classe teste
var teste = document.querySelectorAll(".teste");

    //variavel que vai somar os valores
    valor = 0;

    //faz o loop independete da quantidade de campos que existe dentro do documento
    for(x =0;x<teste.length;x++){
        valor = eval(valor) + eval(teste[x].value);
    }

    visor.value = valor;
}
</script>

函数add_fields(){
document.getElementById('linee')。innerHTML+='';
}
函数soma(){
//seleciona todos campos com a classe teste
var teste=document.queryselectoral(“.teste”);
//瓦里·瓦伊·索马尔·瓦洛雷斯
英勇=0;
//在文件中记录的现有数量的独立循环

对于(x=0;x)提供更多内容以支持您的答案,仅添加代码片段似乎不是一个好答案。我正在更改我的答案