Всем доброго времени суток. Сразу с кажу, что в JS я не сильно силен, собственно по этому и прошу вашей помощи =)
И так я описываю скрипт проверки формы на заполнения.
Сама форма :
<form action="....." method="post" enctype="multipart/form-data" name="add_form" onsubmit="return check_fields();">
отработка JSом:
function check_fields(){obs='document.add_form.';
s='zagolovok'; ob=eval(obs+s);value=ob.value;if(value==''){ob.focus();ob.className="err";return false;}
else ob.className="";
s='hide_phone'; ob=eval(obs+s);value=ob.value;if(value=='1'){
s='contacts'; ob=eval(obs+s);value=ob.value;if(value==''){ob.focus();ob.className="err";return false;}
}
else ob.className="";
s='type';
ob=eval(obs+s);
value=ob.value;
if(value=='0'){ob.focus();ob.className="err";return false;}
else ob.className="";
s='id_category';
ob=eval(obs+s);
value=ob.value;
if(value=='no'){ob.focus();ob.className="err";return false;}
else ob.className="";
s='text';
ob=eval(obs+s);
value=ob.value;
if(value==''){ob.focus();ob.className="err";return false;}
else ob.className="";
s='video';
ob=eval(obs+s);
value=ob.value;
if(value!=''){
var valid_str=value.match(/youtube\.com\/watch\?v\=[0-9a-z-_]{11}/gi);
var valid_length=value.length;
if(valid_str===null || valid_str=='undefined' || valid_str=='' || valid_length>50 || valid_length<24){
alert('Link to video is not correct');
ob.focus();
ob.className="err";
valid_str='';
return false;
}
else ob.className="";
}
s='autor';
ob=eval(obs+s);
value=ob.value;
if(value==''){ob.focus();ob.className="err";return false;}
else ob.className="";
s='securityCode';
ob=eval(obs+s);
if(ob){value=ob.value;if(value==''){ob.focus();ob.className="err";return false;}
else ob.className="";}
return true;}
Все бы нечего, но не работает проверка чекбокса и текстового поля.
(hide_phone и contacts) задача такова:
При подтверждении проверяем JSом: Если человек прячет телефон(ставит галочку) то делаем проверку текстового поля, если поле пустое, то выделяем его. Если нет, то пропускаем.
код чекбокса:
<input type="checkbox" name="hide_phone" value="1" />
В условии JSа написано if(value=='1')... такое ощущение, что чекбокс всегда отправляет значение 1, ставь его, не ставь, все время выделяем поле контакты. Если в JS выставить не 1, а любое другое, то пропускает.
И так собственно вопрос, в чем косяк ?
Целое утро бьюсь...