Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.01.2009, 15:04
Новичок на форуме
Отправить личное сообщение для FastSP Посмотреть профиль Найти все сообщения от FastSP
 
Регистрация: 19.01.2009
Сообщений: 3

Умножение численных значений формы ввода
Ребята, подскажите пожалуйста как реализовать функцию реалтайм умножения значений значений формы ввода данных. Допустим имеется конструкция формы из двух полей ввода числовых данных, необходимо в третьей строке вывести значение умножения введенных в предыдущие 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 не имеется
Ответить с цитированием
  #2 (permalink)  
Старый 19.01.2009, 15:24
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

<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>
Ответить с цитированием
  #3 (permalink)  
Старый 19.01.2009, 16:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

setTimeout надежней.
Ответить с цитированием
  #4 (permalink)  
Старый 19.01.2009, 16:18
Новичок на форуме
Отправить личное сообщение для FastSP Посмотреть профиль Найти все сообщения от FastSP
 
Регистрация: 19.01.2009
Сообщений: 3

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

2Kolyaj, а можно поподробнее на счёт setTimeout и желательно с кодом если не затруднит. Повторюсь что знания данного языка весьма и весьма малы и с недавнего времени мною взят путь на его освоение.
Ответить с цитированием
  #5 (permalink)  
Старый 19.01.2009, 16:28
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Где-нибудь после body
setTimeout(function() {
    document.getElementById('result').innerHTML = (parseFloat(this.value)||0) * (parseFloat(document.getElementById('b').value)||0);
}, 100);
Ответить с цитированием
  #6 (permalink)  
Старый 19.01.2009, 17:33
Флудер
Отправить личное сообщение для ZoNT Посмотреть профиль Найти все сообщения от ZoNT
 
Регистрация: 25.07.2008
Сообщений: 1,271

гы-гы-гы, только сейчас вчитался и понял что требовалось умножение, а я написал сложение
Ответить с цитированием
  #7 (permalink)  
Старый 19.01.2009, 17:43
Новичок на форуме
Отправить личное сообщение для FastSP Посмотреть профиль Найти все сообщения от FastSP
 
Регистрация: 19.01.2009
Сообщений: 3

Сообщение от ZoNT
гы-гы-гы, только сейчас вчитался и понял что требовалось умножение, а я написал сложение
а я вот тоже успел заметить, после того как мне умножение 5 на 10 дало результат 15 :-D

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

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

Код:
<?php
echo ($result);
?>
Ответить с цитированием
  #8 (permalink)  
Старый 19.01.2009, 22:55
...
Отправить личное сообщение для Zibba Посмотреть профиль Найти все сообщения от Zibba
 
Регистрация: 13.10.2008
Сообщений: 225

Товарищ задавал похожий вопрос, мне кажется я на него частично ответил Проблема спередачей переменных
Ответить с цитированием
  #9 (permalink)  
Старый 08.04.2012, 20:45
Новичок на форуме
Отправить личное сообщение для junker Посмотреть профиль Найти все сообщения от junker
 
Регистрация: 08.04.2012
Сообщений: 3

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

Вопрос такой, как в преведенной выше формуле:
Сообщение от ZoNT Посмотреть сообщение
<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?

Последний раз редактировалось junker, 08.04.2012 в 20:51.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Прошу помочь с проверкой формы ввода Гость Общие вопросы Javascript 2 08.03.2008 12:10