JS: уникальный значение в инпутах
Здравствуйте.
Есть 7 input'ов, чтобы поддерживалась кроссбраузерность, с типом text. Подскажите, как реализовать: Возможность расставлять в них значения только от 1 до 7, и если значение уже было, то его повторно ввести нельзя (стирается или алерт, лучше и то и другое). Т.е. в первом инпуте указали - 3, больше тройку указывать нельзя. Функционал - очень похожей на тест, раставьте приоритеты в порядке ранжирования Спасибо! |
<div class="inputBlock"> <input type="text" maxlength="1" size="1"> <input type="text" maxlength="1" size="1"> <input type="text" maxlength="1" size="1"> <input type="text" maxlength="1" size="1"> <input type="text" maxlength="1" size="1"> <input type="text" maxlength="1" size="1"> <input type="text" maxlength="1" size="1"> </div> <script>(function(){ var inputArr = [], inputs = [].slice.call(document.querySelectorAll('.inputBlock input')); function input(event){ var target = event.target; if( //если /^[^1-7]$/.test(target.value) || //не равен 1-7 inputs.some(function(el){return el !== target && el.value === target.value}) //уже введён ){ return this.value = ''; //очищаем } else { //иначе if(this.nextElementSibling) this.nextElementSibling.focus() //фокус на следующий } } inputs.forEach(function(el){el.oninput = input}) }())</script> |
Спасибо! Самое то
|
Часовой пояс GMT +3, время: 19:22. |