|
|
|
| Есть скрипт, который проверяет поля формы.
Но он что-то спотыкается на отправке формы, после того как все поля проверенны.
Скорее всего из за строки рег.выр. ответственной за проверку email'a.
Email проверяется правильно, но сама строка вроде вне кавычек и после ее декларации нет ;
Если заключить var re в кавычки, рег.вар уже не срабатывает корректно.
Вопрос: как исправить?
Спасибо.
Вот формуляр:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Omega Intranet - Register</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script language="javascript">
function validateEmail(email) {
//Validating the email field
var re = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
if (! email.match(re)) {
return (false);
}
return(true);
}
function checkFields()
{
// name
if (document.frm_register.name.value.length<1)
alert("Please enter your name!");
// email
else if(!validateEmail(document.frm_register.email.value))
alert("Please enter your valide Email!");
// organization
else if(document.frm_register.organization.value.length<1)
alert("Please enter your organization!");
// login
else if(document.frm_register.login.value.length<5)
alert("Your login must contain 5 chars minimum!");
// password
else if(document.frm_register.password1.value.length<6)
alert("Your password must contain 6 chars minimum!");
else if(!(document.frm_register.password1.value == document.frm_register.password2.value))
alert("Your confirmed password must match the initial value!");
else
{
document.forms.frm_register.submit();
}
}
</script>
</head>
<body>
<h1>New User Registration Form</h1>
<hr />
<div>
<form action="register.php" method="post" name="frm_register">
<fieldset>
<legend><h3>1.Enter your name, email address and organization</h3></legend>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10%"><p>name :</p></td>
<td><p><input name="name" type="text" size="40" maxlength="40" /></p></td>
</tr>
<tr>
<td width="10%"><p>email :</p></td>
<td><p><input name="email" type="text" size="40" maxlength="40" /></p></td>
</tr>
<tr>
<td width="10%"><p>organization :</p></td>
<td><p><input name="organization" type="text" size="40" maxlength="40" /></p></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend><h3>2.Enter login and password</h3></legend>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="10%"><p>login :</p></td>
<td><p><input name="login" type="text" size="25" maxlength="25" /></p></td>
</tr>
<tr>
<td width="10%"><p>password :</p></td>
<td><p><input name="password1" type="password" size="25" maxlength="25" />
</p></td>
</tr>
<tr>
<td width="10%"><p>confirm password :</p></td>
<td><p><input name="password2" type="password" size="25" maxlength="25" />
</p></td>
</tr>
</table>
</fieldset>
<fieldset>
<legend><h3>3.Verify your information and register</h3></legend>
<p>
<input name="reset" type="reset" value="Reset" />
<input name="submit" type="button" value="Register" onclick="checkFields()" />
</p>
</fieldset>
</form>
</div>
</body>
</html>
|
Если все поля правильно заполненны, при отправке формы вылазит ошибка:
Error: Object doesn't support this property or method. | |
|
|
|
|
|
|
|
для: codexomega
(05.11.2005 в 20:21)
| | С регулярным выражением разобрался, немного оптимизировал:
var re = /^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/;
|
Переименовал кнопку submit на register.
Сообщений об ошибке больше нет.
Но возникла другая проблема.
Форма не отправляется. Вообще ничего не происходит после того как поля заполнены и проверены... | |
|
|
|
|
|
|
|
для: codexomega
(06.11.2005 в 03:33)
| | <input name="submit" type="button"
тут тип должен быть submit или событие onClick, если это простая кнопка | |
|
|
|
|
|
|
|
для: codexomega
(06.11.2005 в 03:33)
| |
document.forms.frm_register.submit();
|
можно опустить forms:
document.frm_register.submit();
|
| |
|
|
|
|
|
|
|
для: DDK
(06.11.2005 в 12:00)
| | Кроме формы на страницe был код PHP.
И я отправку формы проверял с его помощью.
Когда я протестировал чистый HTML, все сработало.
Буду искать ошибки в PHP.
Спасибо за помощь. | |
|
|
|