Вход

Просмотр полной версии : Массовая проверка select


mabilko
10.10.2013, 22:58
Прошу помощи специалистов, задача просто мне вынесла мозг на двое суток жалких попыток решить задачу, а продвижения ноль.

Есть форма, количество селектов в которой может менятся, 5-10 штук. Все с разным неймом, есть возможность модифицировать селекты. Значения в селектах одинаковые.

Задача блокировать отправку формы, если выбрано два одинаковых option в разных селектах (кроме пустых), и если не выбраны значения scat и sgood_names в любом из 5-10 селектов. В javascript совсем слаб, а тут еще такие заморочки необходимы. Помогите пожалуйста решить.

Пример формы.
<form action="" method="post" id="massprices" name="massprices" ENCTYPE="multipart/form-data" onSubmit=”return функция()”>
<table id="rowinfo"><tr><td>
<select name="prices[0]" class="selecting">
<option value="" selected=""></option>
<option value="scat">Категория</option>
<option value="sbrand">брэнд</option>
<option value="sgood_names">Модель</option>
<option value="sharanty">Гарантия</option>
<option value="slinksimg">Ссылка на картинку</option>
</select>
</td></tr><tr><td>
<select name="prices[1]" class="selecting">
<option value="" selected=""></option>
<option value="scat">Категория</option>
<option value="sbrand">брэнд</option>
<option value="sgood_names">Модель</option>
<option value="sharanty">Гарантия</option>
<option value="slinksimg">Ссылка на картинку</option>
</select>
</td></tr><tr><td>
<select name="prices[2]" class="selecting">
<option value="" selected=""></option>
<option value="scat">Категория</option>
<option value="sbrand">брэнд</option>
<option value="sgood_names">Модель</option>
<option value="sharanty">Гарантия</option>
<option value="slinksimg">Ссылка на картинку</option>
</select>
</td></tr></table></form>

рони
11.10.2013, 00:00
mabilko,
:cray: :cray: :cray:
<!DOCTYPE HTML>

<html>

<head>
<title>Untitled</title>
<meta charset="utf-8">
<script>
function verification() {
for (var d = document.getElementsByTagName("select"), a = {}, b = 0; b < d.length; b++) {
var c = d[b].value;
if (c && a[c]) return !1;
a[c] = !0
}
return a.scat && a.sgood_names ? !0 : !1
};
</script>
</head>

<body>
<form action="" method="post" id="massprices" name="massprices" ENCTYPE="multipart/form-data" onSubmit="return verification()">
<table id="rowinfo"><tr><td>
<select name="prices[0]" class="selecting">
<option value="" selected=""></option>
<option value="scat">Категория</option>
<option value="sbrand">брэнд</option>
<option value="sgood_names">Модель</option>
<option value="sharanty">Гарантия</option>
<option value="slinksimg">Ссылка на картинку</option>
</select>
</td></tr><tr><td>
<select name="prices[1]" class="selecting">
<option value="" selected=""></option>
<option value="scat">Категория</option>
<option value="sbrand">брэнд</option>
<option value="sgood_names">Модель</option>
<option value="sharanty">Гарантия</option>
<option value="slinksimg">Ссылка на картинку</option>
</select>
</td></tr><tr><td>
<select name="prices[2]" class="selecting">
<option value="" selected=""></option>
<option value="scat">Категория</option>
<option value="sbrand">брэнд</option>
<option value="sgood_names">Модель</option>
<option value="sharanty">Гарантия</option>
<option value="slinksimg">Ссылка на картинку</option>
</select>
</td></tr></table>
<input name="" type="submit" value="go">
</form>

</body>

</html>

mabilko
11.10.2013, 01:27
Ухты, Рони ты меня спас, спасибо огромное, то что нужно!