Авг 112011
 

Вчера появилась задача: проверить перед отправкой форму, на предмет заполненности полей формы. Задача, в принципе, не сложная, если бы поля формы не генерировались динамически, и не имели имена типа field[].

Для такой проверки нам нужно создать цикл, перебирающий все поля с определенными именами, и проверяющий их значение — пусто / не пусто.

Сам не смог справиться, помогли на хэшкод, решение ниже. Спасибо ling

<script>
function testForm(x){
    var els = x.getElementsByTagName('input');
    for(var i = 0, il = els.length; i < il; ++i){
        if(els[i].name == 'field[]'){
            if(els[i].value == ''){
                alert('Заполните поле!');
                els[i].focus()
                return false;
            }
        }
    }
    return true;
}
</script>

<form onsubmit="return testForm(this);">
    <input name="field[]">
    <input name="field[]">
    <input name="field[]">
    <input type="submit">
</form>
Дорогие читатели! Мною было принято решение закрыть комментарии на блоге. Теперь все обсуждения переносятся на недавно открытый форум, ввиду того, что формат сообщений там намного удобней для обсуждения. Не стесняйтесь задавать любые вопросы по тематике блога! Я всегда на связи.
Перейти на форум
.

Извините, форма комментирования закрыта в данный момент.