Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как проверить заполненность полей в пошаговой форме? (https://javascript.ru/forum/dom-window/75059-kak-proverit-zapolnennost-polejj-v-poshagovojj-forme.html)

рони 31.08.2018 12:36

Цитата:

Сообщение от adash
Правильно понимаю,

смотрите
пост 18

рони 31.08.2018 12:42

adash,
function audit(current_tab) {
*!*
var elems = $(".required, .city-id,  #parent_cat_id, #category_id", current_tab);
*/!*
                return [].every.


и тут

form.on("input change", ".required, .city-id, #parent_cat_id, #category_id", function(event) {
var ok = this.value.trim();
ok && ok != "0" && this.classList.remove("empty_field")
})

adash 31.08.2018 12:56

Добавил
var elems = $(".required", #parent_cat_id, #category_id, current_tab).add('');
var input = $('.city-id');
if (input.val() == 0)
  elems = elems = elems.add(input);


Но переход на второй шаг не осуществляется, может из-за того, что поле скрыто?
<input type="hidden" class="input city-id" name="city" value="0">

adash 31.08.2018 12:57

Не увидел предыдущего комментария, сейчас проверю

adash 31.08.2018 13:03

рони,
Сейчас протестирую на сайте, подскажите, а можно ли подсвечивать класс city-input при city-id = 0?

Я так понимаю, проверка происходит, а вот визуально не выделяется воле

рони 31.08.2018 13:12

Цитата:

Сообщение от adash
а можно ли подсвечивать класс city-input при city-id = 0?

добавить в двух местах после
var ok = el.value.trim();
el.classList.contains("city-id") && (el = el.parentNode);

рони 31.08.2018 13:16

adash,
form.on("input change", ".required, .city-id, #parent_cat_id, #category_id", function(event) {
                var el = this;
                var ok = el.value.trim();
                el.classList.contains("city-id") && (el = el.parentNode);
                ok && ok != "0" && el.classList.remove("empty_field")
            })


function audit(current_tab) {
                var elems = $(".required, .city-id, #parent_cat_id, #category_id", current_tab);
                return [].every.call(elems, function(el, i) {
                    var ok = el.value.trim();
                    el.classList.contains("city-id") && (el = el.parentNode);
                    ok && +ok != 0 ? el.classList.remove("empty_field") :
                        el.classList.add("empty_field");
                    return ok && ok != "0"
                });
            }

adash 31.08.2018 13:59

рони,
Урра! Сработало! А обязательные поля сразу все на шаге могут подсвечиваться, не по очереди?

рони 31.08.2018 14:09

Цитата:

Сообщение от adash
все на шаге могут подсвечиваться, не по очереди?

могут

рони 31.08.2018 14:15

adash,
function audit(current_tab) {
                var elems = $(".required, .city-id, #parent_cat_id, #category_id", current_tab);
                var check = true;
                 [].forEach.call(elems, function(el, i) {
                    var ok = el.value.trim();
                    el.classList.contains("city-id") && (el = el.parentNode);
                    ok && +ok != 0 ? el.classList.remove("empty_field") :
                        (el.classList.add("empty_field"),check = false);
                 });
                return check;
            }


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