Кажется, я не могу получить свои ценности из этой формы, чтобы добавить способ, которым они должны. Я хочу, чтобы все эти входные данные диапазона добавляли свои значения к одному номеру.
Как например: range1 - 3 range2 - 2 range3 - 8 range4 - 5, поэтому я хочу var txt = x + y + z + e; должно быть 18. Но вместо этого это 3285.
Как я могу решить эту проблему? Новое в JavaScript
<form id="frm1" action="" onmouseup="sistetest()">
0<input class="blackandorange" type="range" id="range1" name="points" value="2" min="0" max="10">10<br>
0<input class="blackandorange" type="range" id="range2" name="points" value="2" min="0" max="10">10<br>
0<input class="blackandorange" type="range" id="range3" name="points" value="2" min="0" max="10">10<br>
0<input class="blackandorange" type="range" id="range4" name="points" value="2" min="0" max="10">10<br>
</form>
<script>
function sistetest()
{
var x = document.getElementById("range1").value;
var y = document.getElementById("range2").value;
var z = document.getElementById("range3").value;
var e = document.getElementById("range4").value;
document.getElementById("demo").innerHTML=x+y+z+e;
}
</script>
Вам нужно преобразовать строки в числа:
document.getElementById("demo").innerHTML=Number(x)+Number(y)+Number(z)+Number(e);
Значения, которые вы получаете от DOM, как всегда, являются строками. Вы должны заставить их быть цифрами:
var x = +document.getElementById("range1").value;
var y = +document.getElementById("range2").value;
var z = +document.getElementById("range3").value;
var e = +document.getElementById("range4").value;
это простой способ.
Оператор JavaScript +
(версия с двумя операндами) сложна, поскольку имеет смысл как для строк, так и для чисел, а правила JavaScript фактически предпочитают семантику строки над числовой семантикой. То есть, если вы добавите число в строку (или строку в число), JavaScript преобразует число в строку и выполняет операцию конкатенации.
В этом случае все, что у вас есть, это строки.
var x = parseInt(document.getElementById("range1").value);
По умолчанию getElementById рассматривается как строка. Поэтому вам нужно будет преобразовать его в целое число, если вы хотите рассматривать его как целое.