|
|
|
| Здравствуйте, подскажите что исправить, чтобы выполнялись арефметические операции а не конкатенация строк. Спасибо
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<form name='form_test' id="m3moduleform_1" method="post" action="http://draft/index.php" enctype="multipart/form-data">
<div class="form">
<div><label for="m3fbrp__17">Basic Annual Salary (before tax)</label><input type="text" name="m3fbrp__17" id="m3fbrp__17" value="0" size="25" maxlength="80" onkeyup='calc1()' />
</div>
</div>
<div id='res1'></div>
</form>
<script>
var obj=document.form_test;
var sum=0;
function calc1() {
var v17 = obj.m3fbrp__17.value;
sum = Math.round((v17 + v17 * 0.5)*100)/100;
document.getElementById('res1').innerHTML = sum;
}
</script>
</body>
</html><!-- 0.557915 / 41 / 8788032 / 9248456 -->
|
| |
|
|
|
|
|
|
|
для: Саша
(03.05.2009 в 23:32)
| |
var v17 = obj.m3fbrp__17.value * 1;
|
| |
|
|
|
|
|
|
|
для: PAT
(03.05.2009 в 23:54)
| | Замечательное простое решение, НО, пригодно если знаешь, что считываешь.
А, Что будет?, если блондинка начнёт буковки вводить? Изначально надо проверять все ли это цифирки, ну и попутно перегонять их в ЧИСЛО. В данном случае может быть всё! | |
|
|
|
|
|
|
|
для: BlackApricot
(04.05.2009 в 06:56)
| | Согласен - "может быть всё".
В том числе не только "буковки от блондинки", а и "цифирки от ботаника", но введённые
не с клавиатуры, а методом "копи-пасте".
Потому проверку ввода и суммирование в динамике надо организовывать через таймаут, например,
так, как предложено здесь - см. PAT (27.04.2009 в 14:50) | |
|
|
|
|
|
|
|
для: PAT
(04.05.2009 в 10:07)
| | Да, спасибо. Но вот что странно, что я уже не раз использую джава скрипт и арефметические операции, и всегда obj.value + obj.value обрабатывалось как числа, а теперь нет.
В любом случае, * 1 помогает. | |
|
|
|