Калькулятор на JavaSrcript
Нужно реализовать что то типа калькулятора. Т.е по какому либо событию (OnBlur) данные из одного Input складываются с данными из другого Input.
Ну так складывай. В чём проблема то? Я вообще не вижу тут вопроса.
Ну так складывай. В чём проблема то? Я вообще не вижу тут вопроса.
как мне обратится к Input'am на JavaScript. Я знаю их id.
как мне обратится к Input'am на JavaScript. Я знаю их id.
document.getElementById('id').value
document.getElementById('id').value
в результате получился следующий код:
document.getElementById('c_00001_190_3').value =
(document.getElementById('c_00001_110_3').value) +
(document.getElementById('c_00001_120_3').value) +
(document.getElementById('c_00001_130_3').value) +
(document.getElementById('c_00001_135_3').value) +
(document.getElementById('c_00001_140_3').value) +
(document.getElementById('c_00001_145_3').value) +
(document.getElementById('c_00001_150_3').value);
}
Проблема в том, что он значения складывает как строки. А мне надо как числа, т.е.:
5 + 1 = 51, а надо 5 + 1 = 6;
И еще как можно сделать чтобы в Input вводились только цифры и точка
<input name="val" type="text" id="val">
<input name="val" type="text" id="val">
<input name="val" type="text" id="val">
<input name="val" type="text" id="val">
</p>
<input name="result" type="text" id="result">
<input type="button" name="Button" value="Button" onClick="summ();">
</p>
</form>
<script>
function summ(){
var Result = 0;
for (var n=0; n<document.summForm.length-1; n++){
var El = document.summForm.elements[n];
if (El.name == 'val')
Result += Number(El.value);
}
document.summForm.result.value = Result;
}
</script>
Думаю, разберёшься.
Проблема в том, что он значения складывает как строки. А мне надо как числа
parseInt() - Converts strings into integers.
И еще как можно сделать чтобы в Input вводились только цифры и точка
через яваскрипт, если поискать то можно легко найти, вроде даже где то на этом форуме видел.
Я тут коротенький примерчик набросал, как это сделать проще:
<input name="val" type="text" id="val">
<input name="val" type="text" id="val">
<input name="val" type="text" id="val">
<input name="val" type="text" id="val">
</p>
<input name="result" type="text" id="result">
<input type="button" name="Button" value="Button" onClick="summ();">
</p>
</form>
<script>
function summ(){
var Result = 0;
for (var n=0; n<document.summForm.length-1; n++){
var El = document.summForm.elements[n];
if (El.name == 'val')
Result += Number(El.value);
}
document.summForm.result.value = Result;
}
</script>
Думаю, разберёшься.
все спасибо, использовал Number
все спасибо, использовал Number
Полученное число надо округлить до двух значащих цифр после запятой, использовал toPrecision(2). Но он делает все число, состоящее из двух чисел.
Как можно округлить число с плавающей точкой до нужного числа цифр после запятой. Использование toFixed() не подходит из за ограничения версии IE и NN
Как можно округлить число с плавающей точкой до нужного числа цифр после запятой. Использование toFixed() не подходит из за ограничения версии IE и NN
Ладно, с этим разобрался.
Теперь другая проблема, как вызвать функцию после полной загрузки странички? Надо пересчитать формулы по уже введенным данным