Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 15.03.2014, 18:31
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Пусть ноль, но мне нужно запретить пользователям ставить в оба поля цену. Одна из них подставляется автоматом....
Ответить с цитированием
  #12 (permalink)  
Старый 15.03.2014, 18:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Простейший калькулятор
Сообщение от ArtemKrass
Одна из них подставляется автоматом....
тогда как они поставят цену если она автоматом. снова непонимаю вас.
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript'>
 $(function () {
      var inputs = $('#1, #2,#3');
      $("body").on('input', inputs, function () {
              var area = parseFloat(inputs[0].value)||0,
              price = parseFloat(inputs[1].value)||0,
              summ = area * price;
              inputs[2].value = summ.toFixed(2)
          });
  });
</script>
</head>

<body>
<label for="1">площадь
<input type="text" id="1" name="1" value="" size="12" maxlength="10" class="form-text required"></label>
       <br />
<label for="2">цена за 1м
<input type="text" id="2" name="2" value="" size="12" maxlength="10" class="form-text required"></label>
       <br />
<label for="3">общая цена
<input type="text" id="3" name="2" value="" size="12" maxlength="10" class="form-text required" readonly="readonly"></label>
</body>

</html>

Последний раз редактировалось рони, 15.03.2014 в 18:45.
Ответить с цитированием
  #13 (permalink)  
Старый 15.03.2014, 18:45
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Вся проблема в том, что изначально пользователь может выбрать какую цену ему вводить, либо за 1 м, либо общую... Как только он ввел цену в какое-то из полей, другое нужно делать readonly.

У меня получилась огромная портянка из условий. Но толком не работает.

Последний раз редактировалось ArtemKrass, 15.03.2014 в 18:48.
Ответить с цитированием
  #14 (permalink)  
Старый 15.03.2014, 19:11
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от ArtemKrass
Как только он ввел цену в какое-то из полей, другое нужно делать readonly

<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script type='text/javascript' src='http://code.jquery.com/jquery-1.9.1.js'></script>
<script type='text/javascript'>
 $(function () {
      var inputs = $('#1, #2, #3');
      $("body").on('input', '#1:not(.disabled), #2:not(.disabled), #3:not(.disabled)', function () {
                if (this.value.length > 0) {
                inputs.not(this).addClass('disabled').prop("readonly", true);
              }
              else {inputs.removeClass('disabled').prop("readonly", false)};
          });
  });
</script>
</head>

<body>
<label for="1">площадь
<input type="text" id="1" name="1" value="" size="12" maxlength="10" class="form-text required"></label>
       <br />
<label for="2">цена за 1м
<input type="text" id="2" name="2" value="" size="12" maxlength="10" class="form-text required"></label>
       <br />
<label for="3">общая цена
<input type="text" id="3" name="2" value="" size="12" maxlength="10" class="form-text required" ></label>
</body>

</html>
Ответить с цитированием
  #15 (permalink)  
Старый 15.03.2014, 19:48
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

Все ли браузеры поддержат такой код? Спасибо большущее за помощь...
Ответить с цитированием
  #16 (permalink)  
Старый 15.03.2014, 20:27
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от ArtemKrass
Все ли браузеры поддержат такой код?
кроме ie ниже 9 http://learn.javascript.ru/events-change#событие-input
Ответить с цитированием
  #17 (permalink)  
Старый 20.03.2014, 09:07
Аспирант
Отправить личное сообщение для ArtemKrass Посмотреть профиль Найти все сообщения от ArtemKrass
 
Регистрация: 23.02.2013
Сообщений: 56

рони,
Огромное Спасибо! С меня +++
Ответить с цитированием
  #18 (permalink)  
Старый 20.03.2014, 11:12
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от рони
кроме ie ниже 9
Если писать $("body").on('input propertychange') то должно и в IE8 сработать.
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Странное поведение jQuery borodatych Javascript под браузер 5 27.02.2014 11:47
Странное поведение innerHTML DoubleDragon Общие вопросы Javascript 9 10.08.2012 16:09
Странное поведение ajax! 0931454574 AJAX и COMET 4 03.04.2011 14:57
Странное поведение переменной mycoding Серверные языки и технологии 4 14.01.2011 19:18
Странное поведение replace cooli0 Общие вопросы Javascript 4 25.01.2010 17:16