|
|
|
| Все пока работает, но одно "но" не проверяет наличие уже существующего имени.
Имена хранятся в массиве username .
Как сделать проверку, то что есть не работает, что надо переделать.
Я JavaScript не силен! так что очень прощу поподробней.
Заранее спасибо.
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="keywords" content="">
<meta name="description" content="">
<title> / </title>
</head>
<body>
<script language = "JavaScript">
function searcname(name) {
username = new Array ("Вася","Петя","modul","admin")
for(var e in username)
{
if(e == name)
return (false);
}
return(true);
}
function validateEmail(email) {
var re = /^[\w-]+(\.[w-]+)*@([\w-]+)\.+[a-zA-Z]{2,4}$/; //{2,4} от 2 до 4
if (! email.match(re)) {
return (false);
}
return(true);
}
function checkForm() // Функция проверки введенных данных
{
if(document.reg_guest.name_guest.value=="") {alert("Поле `Ваше имя` не заполнено!"); var error = 1; } else {
if(document.reg_guest.mail_guest.value=="") {alert("Поле `Электронная почта` не заполнено!"); var error = 1; } else {
if(!validateEmail(document.reg_guest.mail_guest.value)) {alert("Неправильный формат адреса электронной почты!"); var error = 1; } else {
if(document.reg_guest.login_guest.value=="") {alert("Поле `Логин (имя для входа)` не заполнено!"); var error = 1; } else {
if(!searcname(document.reg_guest.login_guest.value)) {alert("Пользватель существует"); var error = 1; } else {
if(document.reg_guest.first_pass_guest.value=="") {alert("Поле `Пароль` не заполнено!"); var error = 1; } else {
if(document.reg_guest.second_pass_guest.value=="") {alert("Поле `Подтвердите пароль` не заполнено!"); var error = 1; } else {
if(document.reg_guest.login_guest.value==document.reg_guest.first_pass_guest.value) {alert("Пароль совпадает с логином!"); var error = 1; } else {
if(document.reg_guest.second_pass_guest.value!=document.reg_guest.first_pass_guest.value) {alert("Поля `Пароли` не совпадают!"); var error = 1; } else {
if(document.reg_guest.securityCode.value=="") {alert("Не введен защитный код!"); var error = 1;
}}}}}}}}}}
if(error != 1) {document.reg_guest.submit();} else { return false; }
}
-->
</script>
<form method="post" name="reg_guest" id="reg_guest" onsubmit="return checkForm()">
Ваше имя *<br>
<input type="text" name="name_guest" style="width: 100%;">
<br>
Электронная почта * <br>
<input type="text" name="mail_guest" style="width: 100%;">
<br>
Логин (имя для входа) * <br>
<input type="text" name="login_guest" style="width: 100%;">
<br>
Пароль * <br>
<input type="text" name="first_pass_guest" style="width: 100%;">
<br>
Подтвердите пароль *<br>
<input type="text" name="second_pass_guest" style="width: 100%;">
<br>
Почтовый адрес <br>
<input type="text" name="post_guest" style="width: 100%;">
<br>
Получать новости <br>
<input name="yes_news_guest" type="checkbox" checked>
<br>
<input name="start" type="submit" id="start" value="отправить">
<br>
Введите код, который вы видите на картинке <br>
<input name="securityCode" type="text" class="codefofm" title="Введите код, который изображен на картинке" align="absmiddle">
<div id="scode"><img src="images/scode.gif" border="0" alt="Введите этот защитный код" align="absmiddle"></div>
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: zavragnov
(08.03.2007 в 01:19)
| | Во-первых, хотелось бы отметить что незачем писать так
if (nick.length < 3)
{
error = 'Ник короткий';
}
else
{
if (nick.length > 20)
{
error = 'Ник длинный';
}
else
{
if (nick == 'admin')
{
error = 'Такой ник нельзя использовать';
}
}
}
|
Когда можно так
if (nick.length < 3)
error = 'Ник короткий';
else if (nick.length > 20)
error = 'Ник длинный';
else if (nick == 'admin')
error = 'Такой ник нельзя использовать';
|
И не закрывать по двадцать скобок в конце
Сначала присваивайте error значение false, потом если что-то не так, присваивайте текст ошибки, затем, если оно не равняется false, то останавливайте программу и делайте alert (error) | |
|
|
|
|
|
|
|
для: bronenos
(08.03.2007 в 07:33)
| | Спасибо за замечение, но я не спрашивал про синтаксис языка, я спрвшивал про проверку на наличие имени в массиве.
Вопрос, как написать функцию поиска значения (имени) в массиве (массив имен) и связать ее с уже имеющейся функцией checkForm() | |
|
|
|