Не выполняется арифметическое действие (сложение)
Всем привет.
Есть простая форма с инпутом. В инпут вводим любое число, а в диве к этому числу должно прибавляться 20 и выводиться сумма, но цифры не складываются, а конкотенируются. Пример: 3+20 получается 320, а ожидалось 23; 100+20 получается 10020, ожидалось 120. Как решить вопрос?
<form method="post" name="calcul" onsubmit="calculate(); return false;">
<input name="summa" id="calc_summa" value="" type="number" max="1000" onchange="calculate();"/>
<input name="calculate_btn" value="Рассчитать" type="submit">
</form>
<div id="default" style="outline:1px solid red; height: 30px;"></div>
<div id="itog" style="outline:1px solid blue; height: 30px;"></div>
function calculate(){
var def_input=document.getElementById("calc_summa").value;
def_input = def_input+20; // здесь не происходит сложение
document.getElementById('default').innerHTML=def_input;
document.getElementById('itog').innerHTML=(def_input+20);
}
calculate();
|
Цитата:
Т.к. у тебя не цифры, а строки. К цифрам их еще нужно привести. У тебя допустимы только целые числа? |
нет, также могут быть и float
а <input type="number"> - не имеет значения? |
Цитата:
Цитата:
var a='3'; var b='20.5'; alert(+a+(+b)); |
tp-20, вот еще примеры...
http://bologer.ru/javascript-preobra...roki-v-chislo/ https://qna.habr.com/q/376527 |
ksa, спасибо! то, что надо!
parseInt |
Цитата:
|
| Часовой пояс GMT +3, время: 14:26. |