Проверка совпадения полей на 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, время: 05:53. |