Показать сообщение отдельно
  #5 (permalink)  
Старый 13.01.2014, 03:28
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

<body>
    <div id="data">
      <input type="text" />
      <input type="text" />
      <input type="text" />
    </div>
    <script>
// выбрали div c id #data и все INPUT в нем allInput
      var data = document.getElementById('data'),
        allInput = data.querySelectorAll('input'),
// len - количество INPUT
        len = allInput.length;
//  обрабатываем событие oninput элемента data
      data.oninput = function (e) {
// кроссброузерно получили элемент вызвавший событие 
        e = e || window.event;
        var target = e.target || e.srcElement;
// если событие вызвал не INPUT выходим
        if ('INPUT' != target.tagName) return false;
// получили значение элемента
        var thisValue = target.value;
// проверяем принадлежит ли значение элемента  диапазону. Число ли это и если нет, то значение ставим пусто 
        if (thisValue <= 0 || thisValue > 5 || isNaN(thisValue)) target.value = '';
// проверяем в цикле содержится ли новое значение в других input
        for (var i = 0; i < len; i++) {
//если проверяемый элемент равен текущему продолжить цикл с новой позиции
          if (target == allInput[i]) continue;
// если значение равно значению иного INPUT, то значение ставим пусто  
          if (thisValue == allInput[i].value) target.value = '';
        }
      }
    </script>
  </body>

Последний раз редактировалось Vlasenko Fedor, 13.01.2014 в 04:56.
Ответить с цитированием