Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Расчет введеных данных
 
 автор: Hoчной призрак   (07.01.2008 в 15:44)   письмо автору
 
 

Такой вопрос, есть к примеру форма с двумя input type=text, нужно что бы во время ввода происходил мгновенный расчет (без отправки и кнопки submit), допустим сложение введеных данных и вывод в определенную часть экрана. На чем это лучше сделать и как?

   
 
 автор: CNT   (07.01.2008 в 16:34)   письмо автору
 
   для: Hoчной призрак   (07.01.2008 в 15:44)
 

Разумеется, на Javascript'e.
Для самого простого случая (без проверки введённых в инпуты данных "на наличие" и "на только цифры"):
<input id="txt1">
<input id="txt2">
<input type="button" value="Сложить"
   onclick="with (document) {getElementById ('rez').innerHTML = getElementById ('txt1').value * 1 + getElementById ('txt2').value * 1}">
...
<div id="rez"></div>

   
 
 автор: Hoчной призрак   (07.01.2008 в 16:47)   письмо автору
 
   для: CNT   (07.01.2008 в 16:34)
 

спасибо, но это не совсем то что нужно, с кнопкой то понятно, а вот как сделать что бы данные начинали высчитываться грубо говоря еще в процессе ввода, к примеру:
1.в первое окно введено 1 во втором еще ни чего не введено, не считается
2. в первом окне введено 1 во втором 2 и как только была набрана цифра два проводился мгновенный расчет и выводились данные.

Нужно сделать аналогичное вот этому ипотечному калькулятору,
http://www.vtb24.ru/voronezh/personal/loans/mortgage/calculator

   
 
 автор: CNT   (07.01.2008 в 17:23)   письмо автору
 
   для: Hoчной призрак   (07.01.2008 в 16:47)
 

Да точно также. И тоже на Javascript'e - только реагировать по событиям onkeyup, onfocus, onchange:

<script>
function mFunc ()
{
var x = document.getElementById ('txt1');
var y = document.getElementById ('txt2');

var xOK = (x.value && !x.value.replace (/\d/g, '').length);
var yOK = (y.value && !y.value.replace (/\d/g, '').length);

document.getElementById ('rez').innerHTML = (xOK && yOK) ? (x.value * 1 + y.value * 1) : '';
}
</script>

<input id="txt1" onkeyup="mFunc ()" onfocus="mFunc ()" onchange="mFunc ()">
<input id="txt2" onkeyup="mFunc ()" onfocus="mFunc ()" onchange="mFunc ()">
...
<div id="rez"></div>

   
 
 автор: Hoчной призрак   (07.01.2008 в 17:24)   письмо автору
 
   для: CNT   (07.01.2008 в 17:23)
 

спасибо

   
 
 автор: Hoчной призрак   (08.01.2008 в 15:23)   письмо автору
 
   для: Hoчной призрак   (07.01.2008 в 17:24)
 

Еще вопросик, а допустим у меня 3 окна импута, как вывести к примеру в 3 тье окно сумму первых двух импутов, не получатся обратиться к 3 тьему окну :( ероры.

   
 
 автор: CNT   (08.01.2008 в 22:13)   письмо автору
 
   для: Hoчной призрак   (08.01.2008 в 15:23)
 

1. В HTML-коде вместо <div id="rez"></div> напишите <input id="rez">

2. В функции вместо document.getElementById ('rez').innerHTML = ... напишите document.getElementById ('rez').value = ...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования