javascript(数学)添加数组
我有两个javascript文本框javascript(数学)添加数组,javascript,arrays,getelementbyid,Javascript,Arrays,Getelementbyid,我有两个javascript文本框 <input type="text" name="test" value="300" /> <input type="text" name="test" value="500" /> 这将考虑所有输入元素(如果您有许多元素,则很有用)。按类型过滤它们,并在循环中获取它们的值: var inputs = document.getElementsByTagName("input"); var total = 0; for (var i
<input type="text" name="test" value="300" />
<input type="text" name="test" value="500" />
这将考虑所有
输入
元素(如果您有许多元素,则很有用)。按类型过滤它们,并在循环中获取它们的值:
var inputs = document.getElementsByTagName("input");
var total = 0;
for (var i = 0; i < inputs.length; i++){
if (inputs[i].type = "text"){
total += parseInt(inputs[i].value, 10);
}
}
alert(total);
var inputs=document.getElementsByTagName(“输入”);
var合计=0;
对于(变量i=0;i
这将考虑所有输入
元素(如果您有很多元素,则很有用)。按类型过滤它们,并在循环中获取它们的值:
var inputs = document.getElementsByTagName("input");
var total = 0;
for (var i = 0; i < inputs.length; i++){
if (inputs[i].type = "text"){
total += parseInt(inputs[i].value, 10);
}
}
alert(total);
var inputs=document.getElementsByTagName(“输入”);
var合计=0;
对于(变量i=0;i
注意没有其他带有id=“price1”
或id=“price2”
注意没有其他带有id=“price1”
或id=“price2”
的标记,原因如下。首先,顾名思义,getElementById
根据id
属性的值获取元素。您没有为输入
元素指定id
属性,因此这不起作用
其次,document.getElementById('someId')
返回一个元素,但您需要该值。您可以使用值
属性获取它:
var price1 = parseInt(document.getElementById("test1").value, 10);
var price2 = parseInt(document.getElementById("test2").value, 10);
alert(price1 + price2);
这将适用于以下HTML:
<input type="text" name="test" id="test1" value="300" />
<input type="text" name="test" id="test2" value="500" />
请注意使用parseInt
。value
属性返回一个字符串,因此我们使用parseInt
尝试将其解析为一个数字。如果不使用它,price1+price2
将简单地连接字符串。由于以下几个原因,您编写的内容将无法工作。首先,顾名思义,getElementById
根据id
属性的值获取元素。您没有为输入
元素指定id
属性,因此这不起作用
其次,document.getElementById('someId')
返回一个元素,但您需要该值。您可以使用值
属性获取它:
var price1 = parseInt(document.getElementById("test1").value, 10);
var price2 = parseInt(document.getElementById("test2").value, 10);
alert(price1 + price2);
这将适用于以下HTML:
<input type="text" name="test" id="test1" value="300" />
<input type="text" name="test" id="test2" value="500" />
请注意使用parseInt
。value
属性返回一个字符串,因此我们使用parseInt
尝试将其解析为一个数字。如果不使用它,price1+price2
将简单地连接字符串。我想总结一下数组。我可以使用getElementByName吗?我将从数据库中提取,所以我不知道将有多少记录。我只知道每个人都有自己的价格。我怎样才能使它汇总数据库中的数组?啊,对不起,我应该更仔细地阅读你的问题。在这种情况下,请参阅@Igor Dymov的答案,它不使用getElementById
,因此意味着您不必更改HTML。我想总结一下数组。我可以使用getElementByName吗?我将从数据库中提取,所以我不知道将有多少记录。我只知道每个人都有自己的价格。我怎样才能使它汇总数据库中的数组?啊,对不起,我应该更仔细地阅读你的问题。在这种情况下,请参阅@Igor Dymov的答案,它不使用getElementById
,因此意味着您不必更改HTML。谢谢,它工作得很好。我唯一需要更改的是将document.getElementByTagName更改为document.getElementbyName。这两种方式都有效,但我在页面上有其他文本框,其中没有数字。非常感谢你!如果aikgetElementsByTagName
在IE中不起作用,我宁愿使用getElementsByTagName
并在loopoh ok中按名称过滤。你知道我怎么做才能得到一个名为“priceList”的最终文本框,在这个文本框中,所有的价格都会从数组中显示出来吗?基本上,它会做的是把两个文本框的值放在一个文本框中,用一个逗号分隔,输入所需的id并分配所需的值。谢谢,它工作得很好。我唯一需要更改的是将document.getElementByTagName更改为document.getElementbyName。这两种方式都有效,但我在页面上有其他文本框,其中没有数字。非常感谢你!如果aikgetElementsByTagName
在IE中不起作用,我宁愿使用getElementsByTagName
并在loopoh ok中按名称过滤。你知道我怎么做才能得到一个名为“priceList”的最终文本框,在这个文本框中,所有的价格都会从数组中显示出来吗?基本上,它要做的是将两个文本框的值放入一个文本框中,用一个逗号分隔,输入所需的id并分配所需的值
var price1 = parseInt(document.getElementById("test1").value, 10);
var price2 = parseInt(document.getElementById("test2").value, 10);
alert(price1 + price2);
<input type="text" name="test" id="test1" value="300" />
<input type="text" name="test" id="test2" value="500" />