|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.04.2016, 15:43 | #1 |
Регистрация: 26.02.2016
Сообщений: 5
|
Не срабатывает скрипт
Здравствуйте!
Вопрос в следующем: Учу веб-разработку по книге O'Reilly "Создаем динамические веб-сайты с помощью PHP, MySQL, JavaScript, CSS и HTML5". Дошел до изучения JavaScript, и на примере в книге у меня возникла загвоздка. Почему то набранный код из книги у меня не выполняет JavaScript, а пример скачанный с оф. сайта книге проходит все нормально. Сравнивал построчно, нашел кое-какие ошибки, исправил, но проблема не ушла. Возможно где-то я не замечаю еще какую-нибудь ошибку, но найти её пока что не могу. Не могли бы вы помочь с этой проблемой? Заранее спасибо! *Код в приложении. Мой код: Код HTML:
<!DOCTYPE html> <html> <head> <title>Пример формы </title> <style> .signup { border:1px solid #999999; font: normal 14px helvetica; color: #4444444; } </style> <script> function validate(form) { fail = validateForename(form.forename.value) fail += validateSurname(form.surname.value) fail += validateUsername(form.username.value) fail += validatePassword(form.password.value) fail += validateAge(form.age.value) fail += validateEmail(form.email.value) if (fail == "") return true else { alert(fail); return false } } function validateForename(field) { return (field == "") ? "Не введено имя.\n" : "" } function validateSurname(field) { return (field == "") ? "Не введена фамилия.\n" : "" } function validateUsername(field) { if (field == "") return "Не введено имя пользователя.\n" else if (field.length < 5) return "В имени пользователя должно быть не менее 5 символов.\n" else if (/[^a-zA-Z0-9_-]/.test(field)) return "В имени пользователя разрешены только a-z, A-Z, 0-9, - и _.\n" return "" } function validatePassword(field) { if (field == "") return "Не введен пароль.\n" else if (field.length < 6) return "В пароле должно быть не менее 6 символов.\n" else if (!/[a-z]/.test(field) || !/[A-Z]/.test(field) || !/[0-9]/.test(field)) return "Пароль требует 1 символ из каждого набора a-z, A-Z, 0-9.\n" return "" } function validateAge(field) { if (isNaN(field)) return "Не введен возраст.\n" else if (field < 18 || field > 110) return "Возраст не должен быть между 18 и 110.\n" return "" } function validateEmail(field) { if (field == "") return "Не введен адрес электронной почты.\n" else if (!((field.indexOf(".") > 0) && (field.indexOf("@") > 0)) || /[^a-zA-Z0-9_-]/.test(field)) return "Электронный адрес имеет не верный формат.\n" return "" } </script> </head> <body> <table border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee"> <th colspan="2" align="center">Регистрация</th> <form method="post" action="adduser.php" onsubmit="return validate(this)"> <tr><td>Имя</td> <td><input type="text" maxlength="32" name="forename"></td></tr> <tr><td>Фамилия</td> <td><input type="text" maxlength="32" name="surename"></td></tr> <tr><td>Логин</td> <td><input type="text" maxlength="16" name="username"></td></tr> <tr><td>Пароль</td> <td><input type="text" maxlength="12" name="password"></td></tr> <tr><td>Возраст</td> <td><input type="text" maxlength="3" name="age"></td></tr> <tr><td>Электронный адрес</td> <td><input type="text" maxlength="64" name="email"></td></tr> <tr><td colspan="2" align="center"><input type="submit" value="Зарегистрироваться"></td></tr> </form> </table> </body> </html> Код HTML:
<!DOCTYPE html> <html> <head> <title>An Example Form</title> <style> .signup { border:1px solid #999999; font: normal 14px helvetica; color: #4444444; } </style> <script> function validate(form) { fail = validateForename(form.forename.value) fail += validateSurname(form.surname.value) fail += validateUsername(form.username.value) fail += validatePassword(form.password.value) fail += validateAge(form.age.value) fail += validateEmail(form.email.value) if (fail == "") return true else { alert(fail); return false } } function validateForename(field) { return (field == "") ? "Не введено имя.\n" : "" } function validateSurname(field) { return (field == "") ? "Не введена фамилия.\n" : "" } function validateUsername(field) { if (field == "") return "Не введено имя пользователя.\n" else if (field.length < 5) return "В имени пользователя должно быть не менее 5 символов.\n" else if (/[^a-zA-Z0-9_-]/.test(field)) return "В имени пользователя разрешены только a-z, A-Z, 0-9, - и _.\n" return "" } function validatePassword(field) { if (field == "") return "Не введен пароль.\n" else if (field.length < 6) return "В пароле должно быть не менее 6 символов.\n" else if (!/[a-z]/.test(field) || !/[A-Z]/.test(field) || !/[0-9]/.test(field)) return "Пароль требует 1 символ из каждого набора a-z, A-Z, 0-9.\n" return "" } function validateAge(field) { if (isNaN(field)) return "Не введен возраст.\n" else if (field < 18 || field > 110) return "Возраст не должен быть между 18 и 110.\n" return "" } function validateEmail(field) { if (field == "") return "Не введен адрес электронной почты.\n" else if (!((field.indexOf(".") > 0) && (field.indexOf("@") > 0)) || /[^a-zA-Z0-9_-]/.test(field)) return "Электронный адрес имеет не верный формат.\n" return "" } </script> </head> <body> <table border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee"> <th colspan="2" align="center">Регистрация</th> <form method="post" action="adduser.php" onsubmit="return validate(this)"> <tr><td>Имя</td> <td><input type="text" maxlength="32" name="forename"></td></tr> <tr><td>Фамилия</td> <td><input type="text" maxlength="32" name="surname"></td></tr> <tr><td>Логин</td> <td><input type="text" maxlength="16" name="username"></td></tr> <tr><td>Пароль</td> <td><input type="text" maxlength="12" name="password"></td></tr> <tr><td>Возраст</td> <td><input type="text" maxlength="3" name="age"></td></tr> <tr><td>Электронная почта</td> <td><input type="text" maxlength="64" name="email"></td></tr> <tr><td colspan="2" align="center"><input type="submit" value="Зарегистрироваться"></td></tr> </form> </table> </body> </html> Последний раз редактировалось KGS; 22.04.2016 в 15:46. |
22.04.2016, 16:14 | #2 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
вы сделали ошибку в имени поля.
в оригинале: Цитата:
Цитата:
fail += validateSurname(form.surname.value) то на этом проверка и завершается. p.s. а ещё бы я кодировку задавал в тексте явно. для английского в этом нет смысла, а вот если Вы используете кириллицу, то нужно обязательно задавать кодировку, не надо полагаться на браузер! |
||
22.04.2016, 17:28 | #3 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
Код:
Alar, верни репу!
|
22.04.2016, 18:50 | #4 | |
Регистрация: 26.02.2016
Сообщений: 5
|
Цитата:
На счет кодировки возьму на заметку ) |
|
22.04.2016, 18:52 | #5 |
Регистрация: 26.02.2016
Сообщений: 5
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
PHP. Не срабатывает header , гляньте скрипт, нужно подправить | flyfire | Помощь студентам | 7 | 24.05.2012 23:18 |
Скрипт срабатывает при нажатии в любом месте экрана | A67809R | JavaScript, Ajax | 1 | 13.02.2012 13:12 |
Php! JSON_ECODE, Не срабатывает на хостинге след. скрипт: | AlienNation | PHP | 2 | 09.10.2011 18:31 |
Скрипт срабатывает один раз, а далее ошибка | BloodA | JavaScript, Ajax | 8 | 20.07.2011 16:02 |
мой сайт взломали и в коды скриптов добавили вот этот скрипт. Что за скрипт? | nsbox | JavaScript, Ajax | 9 | 21.01.2010 18:19 |