Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: JavaScript динамическая форма  (Прочитано 11981 раз)
0 Пользователей и 1 Гость смотрят эту тему.
leopard
Гость
« : 19-08-2005 14:12 » 

Я хочу сделать форму, в которой в зависимости от ввода чисел в первые два поля, в третьем выводился в реальном времени (без отправки данных) результат.
Как это можно сделать ?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 19-08-2005 15:45 » 

Поставь обработчик ONCHANGE на два первых поля. Этот обработчик должен проверить готовность данных в этих полях, вычислить результат и поместить его в третье поле.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
leopard
Гость
« Ответ #2 : 22-08-2005 07:25 » 

Поставь обработчик ONCHANGE на два первых поля. Этот обработчик должен проверить готовность данных в этих полях, вычислить результат и поместить его в третье поле.

У меня с этим и проблема, как проверить данные я знаю, я просто не знаю как разместить данные в поле.
Записан
MOPO3
Ай да дэдушка! Вах...
Команда клуба

lt
Offline Offline
Пол: Мужской
Холадна аднака!


WWW
« Ответ #3 : 22-08-2005 09:43 » 

У меня с этим и проблема, как проверить данные я знаю, я просто не знаю как разместить данные в поле.
Вроде RXL нормально всё объяснил. Пиши обработчик ONCHANGE и будет тебе счастье.
Что то наподобие вот этого должно получиться :
Код:
function DoOnChangeEvents()
{
    if(document.forma.pole1.text != "")
    {
        if(document.forma.pole2.text != "")
        {
             document.forma.pole3.text = document.forma.pole1 + document.forma.pole2;
        }
    }
}

Ну я думаю ясна идея то ?
Записан

MCP, MCAD, MCTS:Win, MCTS:Web
leopard
Гость
« Ответ #4 : 22-08-2005 11:57 » 

Вроде RXL нормально всё объяснил. Пиши обработчик ONCHANGE и будет тебе счастье.
Что то наподобие вот этого должно получиться :
Код:
function DoOnChangeEvents()
{
 if(document.forma.pole1.text != "")
 {
 if(document.forma.pole2.text != "")
 {
 document.forma.pole3.text = document.forma.pole1 + document.forma.pole2;
 }
 }
}

Ну я думаю ясна идея то ?

Ага, спасибо Улыбаюсь
Просто, вызвать эту же функцию в третьем поле, не судьба была у меня. В этом проблема оказалась Улыбаюсь
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #5 : 22-08-2005 21:46 » 

leopard, не понял, почему в третьем - у тебя не срабатыаает ONCHANGE на первых двух?
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
leopard
Гость
« Ответ #6 : 23-08-2005 08:03 » 

leopard, не понял, почему в третьем - у тебя не срабатыаает ONCHANGE на первых двух?

чушь несу Улыбаюсь в общем все заработало.
В итоге у меня такое получилось.

function Rezalt(){
   var val1 = parseFloat(document.raschet.name1.value);
   var val2 = parseFloat(document.raschet.name2.value);
   if(!isNaN(val1) && !isNaN(val2)){
      var sum =  val1 + val2;
      document.raschet.name3.value = sum;
   }
}

<form action="" name="raschet" method="get">
<input type="text" value="" id="name1" onKeyDown="Rezalt()" >
<input type="text" value="" id="name2" onKeyDown="Rezalt()">
<input type="text" value="" id="name3"  readonly="">
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines