Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Умножение численных значений формы ввода (https://javascript.ru/forum/misc/2587-umnozhenie-chislennykh-znachenijj-formy-vvoda.html)

FastSP 19.01.2009 15:04

Умножение численных значений формы ввода
 
Ребята, подскажите пожалуйста как реализовать функцию реалтайм умножения значений значений формы ввода данных. Допустим имеется конструкция формы из двух полей ввода числовых данных, необходимо в третьей строке вывести значение умножения введенных в предыдущие 2 поля данных.

Код:

<form>
<table>
<tr>
<td><input type="text" name="a"></td>
<td><input type="text" name="b"></td>
<td>В этой ячейке необходимо вывести значение умножения данных из полей a и b</td>
</tr>
</table>
</form>

Важным моментом является отсуствие кнопки выполнения скрипта, то есть значение должно изменяться динамически (примером может послужить работа таблицы Microsoft Excell).

P.S. знаний языка JavaScript не имеется :)

ZoNT 19.01.2009 15:24

<form>
<table>
<tr>
<td><input type="text" id="a" onkeyup="document.getElementById('result').innerHTML = (parseFloat(this.value)||0) + (parseFloat(document.getElementById('b').value)||0)"></td>
<td><input type="text" id="b" onkeyup="document.getElementById('result').innerHTML = (parseFloat(this.value)||0) + (parseFloat(document.getElementById('a').value)||0)"></td>
<td id="result"></td>
</tr>
</table>
</form>

Kolyaj 19.01.2009 16:11

setTimeout надежней.

FastSP 19.01.2009 16:18

2ZoNT, спасибо огромное за помощь!

2Kolyaj, а можно поподробнее на счёт setTimeout и желательно с кодом если не затруднит. Повторюсь что знания данного языка весьма и весьма малы и с недавнего времени мною взят путь на его освоение.

Kolyaj 19.01.2009 16:28

Где-нибудь после body
setTimeout(function() {
    document.getElementById('result').innerHTML = (parseFloat(this.value)||0) * (parseFloat(document.getElementById('b').value)||0);
}, 100);

ZoNT 19.01.2009 17:33

гы-гы-гы, только сейчас вчитался и понял что требовалось умножение, а я написал сложение :D

FastSP 19.01.2009 17:43

Цитата:

Сообщение от ZoNT
гы-гы-гы, только сейчас вчитался и понял что требовалось умножение, а я написал сложение

а я вот тоже успел заметить, после того как мне умножение 5 на 10 дало результат 15 :-D

:) продолжу задавать вопросы

Возможно ли каким-то образом передать полученное значение переменной передать для дальнейшей работы скрипту. Например простейшую конструкцию типа:

Код:

<?php
echo ($result);
?>


Zibba 19.01.2009 22:55

Товарищ задавал похожий вопрос, мне кажется я на него частично ответил http://javascript.ru/forum/misc/2589...remennykh.html

junker 08.04.2012 20:45

Старая тема, но надеюсь, мне помогут.

Вопрос такой, как в преведенной выше формуле:
Цитата:

Сообщение от ZoNT (Сообщение 11021)
<form>
<table>
<tr>
<td><input type="text" id="a" onkeyup="document.getElementById('result').innerHTML = (parseFloat(this.value)||0) + (parseFloat(document.getElementById('b').value)||0)"></td>
<td><input type="text" id="b" onkeyup="document.getElementById('result').innerHTML = (parseFloat(this.value)||0) + (parseFloat(document.getElementById('a').value)||0)"></td>
<td id="result"></td>
</tr>
</table>
</form>

сделать так, чтобы результат (result) округлял дробные цифры до сотых (0,00)?
Знаю, что нужно использовать ().toFixed, но как применить его именно к result?


Часовой пояс GMT +3, время: 14:47.