Javascript.RU

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

Связанные input
Из базы приходит инфа о значениях A, B и сумма этих значений - C.
Есть да текстовых поля, куда попадают A и B:
<input class="form-control input-lg" type="text" name="a" value="'.$res['a'].'">
<input class="form-control input-lg" type="text" name="b" value="'.$res['b'].'">

Вопрос:
Как сделать, чтобы, при изменении пользователем значения A, в поле B автоматически высчитывалась разница между C и B?
Ну и, соответственно, наоборот, если юзер меняет B, то A высчитывается как C минус B?

Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 01.12.2014, 16:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от el01
Как сделать, чтобы, при изменении пользователем значения A, в поле B автоматически высчитывалась разница между C и B?
Как вариант...
- хранить в скрытом поле значение суммы (С)
- отлавливать изменение полей
- работать с суммой
- менять связанное поле
Ответить с цитированием
  #3 (permalink)  
Старый 01.12.2014, 17:05
Новичок на форуме
Отправить личное сообщение для el01 Посмотреть профиль Найти все сообщения от el01
 
Регистрация: 01.12.2014
Сообщений: 3

Об этом я догадался...
Я в принципе не знаком с яваскриптом, поэтому и спрашиваю.
Может быть есть готовое решение.
Ответить с цитированием
  #4 (permalink)  
Старый 01.12.2014, 17:37
Профессор
Посмотреть профиль Найти все сообщения от krutoy
 
Регистрация: 09.11.2014
Сообщений: 610

<html>
<head></head>
<input id="one" />
<input id="two" />

<body>
<script>
input1=document.querySelector("#one")
input2=document.querySelector("#two")

base=10
calc=function(){
    var another
    switch(this){
        case input1: another=input2; break
        case input2: another=input1; break
    }
    another.value=base-this.value
}

input1.oninput=calc
input2.oninput=calc

</script>
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 01.12.2014, 17:42
Новичок на форуме
Отправить личное сообщение для el01 Посмотреть профиль Найти все сообщения от el01
 
Регистрация: 01.12.2014
Сообщений: 3

krutoy,
Спасибо, то, что надо!
Ответить с цитированием
  #6 (permalink)  
Старый 03.12.2014, 16:15
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Кстати, а почему output не уходит на сервер?
Ответить с цитированием
  #7 (permalink)  
Старый 03.12.2014, 16:25
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Локальное инлайновое
<!DOCTYPE HTML>
<html>
<head></head>
 
  <form>
  <input name="a" oninput="{this.form.b.value=10-this.value}" />
<input name="b" oninput="{this.form.a.value=10-this.value}"/>
  </form>

<body>
</body>
</html>
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
input radio и input text tart Элементы интерфейса 4 26.01.2015 19:14
Записать в один input значения нескольких input -=fluffy=- Элементы интерфейса 2 17.04.2014 17:40
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 19:27
Opera не выполняет style.fontSize=... в поле input Маэстро Opera, Safari и др. 6 20.06.2011 12:03
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55