|
После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть? |
Проверка данных в форме
Концепция
Наш последний сценарий JavaScript не из легких, можете в этом не сомневаться.
Снова придется вернуться к формам. В сегодняшнем примере JavaScript применяется для проверки данных, которые ввел пользователь. Нужно будет ввести в форму свое имя и номер телефона из 7 или 9 знаков (ххххххх или ххх-хх-хх). Необходимо также проверить, что первые 3 символа являются цифрами. Это немного сложнее, чем все остальное, но с этим необходимо разобраться. Проверка данных часто является важной задачей для программистов.
Этот пример возвращает нас к свойству length (длина) и показывает в действии два новых метода: indexOf(), charAt(). Сам сценарий будет длиннее, чем обычно.
Сценарий
<HTML>
<HEAD>
<SCRIPT type="text/javascript">
function validfn(fnm)
{
fnlen=fnm.length
if (fnlen == 0)
{alert("Вы должны ввести свое имя")
document.dataentry.fn.focus()}
}
function validphone(phone)
{
len=phone.length
digits="0123456789"
if(len != 7 && len != 9)
{alert("Неверное количество знаков в номере")
document.dataentry.phone.focus()}
for(i=0; i<3; i++)
{if (digits.indexOf(phone.charAt(i))<0)
{alert("Это должны быть цифры")
document.dataentry.phone.focus()
break}
}
}
</SCRIPT>
</HEAD>
<BODY>
<FORM NAME="dataentry">
<h2>Подтверждение данных</h2>
Введите свое имя:<br>
<INPUT TYPE="text" NAME="fn"
onBlur="validfn(fn.value)">
<SCRIPT LANGUAGE="JavaScript">
document.dataentry.fn.focus()
</SCRIPT>
Введите номер телефона (ххх-хх-хх):<br>
<INPUT TYPE="text" NAME="phone" SIZE=10 >
<INPUT TYPE="button" VALUE="Отправить"
onClick="validphone(phone.value)">
</BODY>
</HTML>Результат работы сценария
На странице выводятся два поля ввода с просьбой ввести свое имя и номер телефона. В случае недопустимого ввода выдается сообщение об ошибке.
