Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Не работает функция (https://javascript.ru/forum/misc/40848-ne-rabotaet-funkciya.html)

literator 21.08.2013 21:49

Не работает функция
 
Вот собственно код. Некорректно работает функция. Всегда пропускает меня, т.е. отправляет данные. Ошибку выдает в окне четко, значит условный оператор if работает корректно, но вот что с возвратом булевого значения не ясно. То ли не возвращает false, то ли еще что. я уж не знаю. Помогите. Зарание спасибо.


<!DOCTYPE=html>
<html>

<head>
<meta http-equiv="Content-Type" content='text/html; charset=utf-8'>
<link rel='stylesheet' type='text/css' href='style/index.css'>
<script type='text/javascript'>
function check(form1){
var name=document.form1.name.value;
var lastname=document.form1.lastname.value;
var login=document.form1.login.value;
var password=document.form1.password.value;
var rpassword=document.form1.rpassword.value;
var mail=document.form1.mail.value;
var eror='';  
var regexp = /^[а-яё]+$/i;
var regexp1=/\d\d\d\d\.\d\d\.\d\d/;
var regexp2=/^[0-9A-Z_]+$/i;
var regexp3=/^[0-9a-z]+$/i; 
var regexp4=/[a-z0-9_-]+(\.[a-z0-9_-]+)*@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+([a-z]{2,4})/i;
 if(regexp.test(name) == false) {eror='Имя введено неправильно!';}
 if(regexp.test(lastname) == false){ eror="Фамилия введена неверно";}
 if(login.length < 3 | regexp2.test(login)==false){ eror='Некорректно введен логин!';}
 if( password.length < 3 |regexp3.test(password)==false){ eror="Пароль введен некоректно!";}
 if(password != rpassword){ eror="Пароли не совпадают!";}
 if(regexp4.test(mail)==false){ eror='E-mail адрес введен некорректно!';}
 if(name=='' | lastname=='' | login=='' | password=='' | mail==''){eror ="Введите все необходимые данные!";}
 if(eror !=''){
 alert (eror);
 return false;
}
return true;
 }

</script>
</head>
<article>
<form name='form1' action='logo.php' method='post' onsubmit='check(form1)'>
Имя:
<input type='text' name='name'><br>
Фамилия:
<input type='text' name='lastname'><br>
<table>
<tr>
<td>
Дата рождения:
</tr>
<tr>
</td>
<td>
День:<select name="birthDate_d">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select>
Месяц:<select name="birthDate_m">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>
Год:<select name="birthDate_y">
<option>2010</option>
<option>2011</option>
<option>2012</option>
<option>2013</option>

</select>
</td>
</tr>
</table>
</div>

Логин:
<input type='text' name='login'><br>
Пароль:
<input type='password' name='password'><br>
Повторите пароль:
<input type='password' name='rpassword'><br>
E-mail:
<input type='mail' name='mail'><br>
<input type='submit' value='ок' name='submit'>
</form>

</article>
<body>
</body>

</html>

рони 21.08.2013 23:27

literator,
слабо оформить код тегами ?

literator 21.08.2013 23:34

В каком месте?

literator 21.08.2013 23:35

рони,
В каком месте?

рони 21.08.2013 23:47

literator,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 21.08.2013 23:50

literator,
кнопа в первом сообщении -> выделить код -> нажать кнопу

literator 21.08.2013 23:59

Я форматировал. Но штука-то в том, что переменные получаю из формы.

рони 22.08.2013 00:04

literator,
тегов [html] былобы достаточно но для всего кода

onsubmit='check(form1)' -> onsubmit='return check(form1)'>

аргумент form1 можно выкинуть он у вас нигде неиспользуется

literator 22.08.2013 00:11

рони,
Спасибо большое. Что-то я записался.

monolithed 22.08.2013 12:47

Как ваш вопрос относится к этому разделу?


Часовой пояс GMT +3, время: 15:55.