Вход

Просмотр полной версии : Как осуществить валидацию только выбранных полей формы?


Tomas
17.02.2011, 11:05
Всем привет!

Передо мной стоит необычная задача по валидации маленькой формы

на этой форме всего 4 текстовых поля и 4 флажка.

http://www.onlinedisk.ru/cache/23c93bd282eaf89a8ebc199b0a72dd0a (http://www.onlinedisk.ru/view/610676/problem.JPG)

Так вот нужно валидировать не все эти поля а только те которые будут отмечены флажками, остальные которые не отмечены либо просто не валидировать либо делать неактивными.


Весь день вчера потратил на освоение JQuery и сегодня пол дня, научился делать обычную валидацию, как в большинстве примеров. Но нигде не нашёл примера выборочной валидации.

Пробовал искать примеры конкретно по checkbox но опять же, они во всех примерах валидируются сами по себе, и не оказывают влияния на валидацию других элементов формы.

walik
17.02.2011, 11:41
Ну как вариант, при смене чекбокса, меняешь и поле input.
К примеру так:

<form onsubmit="checkForm(); return false;" id="myForm">
<input type="checkbox" onchange="(this.checked) ? $('#input_1').removeAttr('disabled') : $('#input_1').attr('disabled', 'disabled');" /> Флажок №1 <input type="text" id="input_1" disabled /><br />
<input type="checkbox" onchange="(this.checked) ? $('#input_2').removeAttr('disabled') : $('#input_2').attr('disabled', 'disabled');" /> Флажок №2 <input type="text" id="input_2" disabled /><br />
<input type="checkbox" onchange="(this.checked) ? $('#input_3').removeAttr('disabled') : $('#input_3').attr('disabled', 'disabled');" /> Флажок №3 <input type="text" id="input_3" disabled /><br />
<input type="checkbox" onchange="(this.checked) ? $('#input_4').removeAttr('disabled') : $('#input_4').attr('disabled', 'disabled');" /> Флажок №4 <input type="text" id="input_4" disabled /><br />
<input type="submit" />
</form>


Ну а в функции checkForm уже, пробегаешь по всем полям input и у которых disabled равно false делаешь валидацию.
К примеру так:

function checkForm() {
$("#myForm input[type=text]").each(function() {
if (this.disabled == false)
checkInput(this.id);
});
}


В функции checkInput делаешь валидацию поля

Tomas
18.02.2011, 06:44
Спасибо огромное walik !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!