Вчера появилась задача: проверить перед отправкой форму, на предмет заполненности полей формы. Задача, в принципе, не сложная, если бы поля формы не генерировались динамически, и не имели имена типа 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>