Проверка совпадения полей на Jquery
Всем привет!! Не додумался как сделать проверку полей.
Например у меня есть три поля <input type='text' name='tovar'/> <input type='text' name='tovar'/> <input type='text' name='tovar'/> надо чтобы скрипт проверял на одинаковые значения по мере вбивания. Т.е вбили в первое в поле, перешли на второе если во втором поле вбивается то же значение, то сразу же подсветить 2 поле красным, если же вбивается в третье поле повторяющееся значение из какого либо вбитого поля, то она должна подкраситься красным цветом. Если есть аналогичные решения дайте ссылку плиз... Спасибо!! Кто поможет на телефон 100 рублей, пишите в личку Ваш номер! И да полей м.б не ограничено до 7 точно... |
AlexSergeev1990,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> .err { border: 4px red solid; } </style> <script> window.addEventListener("DOMContentLoaded", function() { var tovar = [].slice.call(document.querySelectorAll('[name="tovar"]'), 0); tovar.forEach(function(item, i) { item.addEventListener("input", function() { var val = this.value.trim(), err = val && tovar.some(function(el, k) { el = el.value.trim(); return k != i && el && el == val; }); err ? item.classList.add("err") : item.classList.remove("err"); }); }); }); </script> </head> <body> <input type='text' name='tovar'/> <input type='text' name='tovar'/> <input type='text' name='tovar'/> </body> </html> |
Задавать нескольким input одно имя - неправильно (если это не массив).
Upd. Используя jq: https://jsfiddle.net/8120x4sy/ |
Nexus,
можно, если на сервере не РНР или он, но сами разбираем сырые данные, а не используем готовый массив. |
laimas, я не писал, что нельзя. С дуру можно многое.
Браузер отправит данные только 1 из этих полей, если не юзать js. |
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 09:15. |