Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Массовая проверка select (https://javascript.ru/forum/dom-window/42059-massovaya-proverka-select.html)

mabilko 10.10.2013 22:58

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

Есть форма, количество селектов в которой может менятся, 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

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


Часовой пояс GMT +3, время: 23:32.