我有两个javascript文本框。
<input type="text" name="test" value="300" />
<input type="text" name="test" value="500" />
如何使用javascript提醒文本框中项目的总价?
这样的事情会起作用吗?
var price = document.getElementById("test");
alert(price)
答案 0 :(得分:1)
这将考虑所有input
个元素(如果您有很多元素,则非常有用)。按type
过滤它们并在循环中获取它们的值:
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);
答案 1 :(得分:0)
<input id="test1" type="text" name="test" value="300" />
<input id="test2" type="text" name="test" value="500" />
JS:
var price = parseInt(document.getElementById("test1").value, 10) + parseInt(document.getElementById("test2").value, 10);
答案 2 :(得分:0)
<input id="price1" type="text" name="test" value="300" />
<input id="price2" type="text" name="test" value="500" />
这将有效:
var price = document.getElementById("price1").value+document.getElementById("price2").value;
alert(price)
注意没有包含id="price1"
或id="price2"
答案 3 :(得分:0)
由于多种原因,您所写的内容不起作用。首先,顾名思义,getElementById
根据id
属性的值获取一个元素。您尚未向input
元素提供id
属性,因此无法使用。
其次,document.getElementById('someId')
返回一个元素,但您需要该值。您可以使用value
属性来获取它:
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
属性返回一个String,因此我们使用parseInt
尝试将其解析为Number。如果你不使用它,price1 + price2
将简单地连接字符串。