Сабж.
Есть HTML страница с формой:
<FORM method="POST" name="addrepform" action="./add_rep.php" onsubmit="return CheckForm();">
<b>Заголовок объявления *</b><br>
<INPUT type="text" name="title" maxlength="100" value="">
<b>Раздел каталога *</b><br>
<select name="cat_id">
<option value="0">(выберите раздел)</option>
<option value="1">Раздел 1</option>
</select>
<b>Ваш пол *</b><br>
<select name="sex">
<option value="0">(Выберите)</option>
<option value="1">Мужской</option>
<option value="2">Женский</option>
</select>
<b>Ваша дата рождения *</b><br>
<select name="rojd_dd">
<option value="0">(День)</option>
<option value="1">1</option>
</select>
<select name="rojd_mm">
<option value="0">(Месяц)</option>
<option value="1">1</option>
</select>
<select name="rojd_yyyy">
<option value="0">(Год)</option>
<option value="2013">2013</option>
</select>
</FORM>
подключен скрипт проверки на JS:
function CheckForm() {
// =========== 1. Проверка заполнения ЗАГОЛОВОК ОБЪЯВЛЕНИЯ
p_title=document.addrepform.title.value.toString();
if ((p_title.length==0) || (p_title=='Репетитор по ') ) {
alert('Не заполнено поле \"Заголовок объявления\".');
document.addrepform.title.focus();
return false;
} else if (p_title.length<5) {
alert('Значение поля \"Заголовок объявления\" не должно быть короче 5 символов.');
document.addrepform.title.focus();
return false;
};
// =========== 2. Проверка заполнения РАЗДЕЛ КАТАЛОГА
p_cat_id=document.addrepform.cat_id.value;
if (p_cat_id==0) {
alert('Не заполнено поле \"Раздел каталога\".');
document.addrepform.cat_id.focus();
return false;
};
// =========== 3. Проверка заполнения ВАШ ПОЛ
p_sex=document.addrepform.sex.value;
if (p_sex==0) {
alert('Не заполнено поле \"Ваш пол\".');
document.addrepform.sex.focus();
return false;
};
// =========== 4. Проверка заполнения ВАША ДАТА РОЖДЕНИЯ
p_rojd_dd=document.addrepform.rojd_dd.value;
p_rojd_mm=document.addrepform.rojd_mm.value;
p_rojd_yyyy=document.addrepform.rojd_yyyy.value;
if ( (p_rojd_dd==0) || (p_rojd_mm==0) || (p_rojd_yyyy==0) ){
alert('Не заполнено либо неверно заполнено поле \"Ваша дата рождения\".');
document.addrepform.p_rojd_dd.focus();
return false;
};
return true;
};
Почему-то после вывода алерта по Дате рождения происходит отправка самой формы (хотя должно быть возвращено false), т.е. по сути выполняется только первый оператор внутри условия if {} - т.е. выводится только алерт, а дальше буд-то бы выход из процедуры с true....