Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
[ПСП] / lab22.doc
Скачиваний:
80
Добавлен:
31.05.2015
Размер:
6.19 Mб
Скачать

Реализация проверки введенных пользователем данных

Давайте теперь займемся более сложной ситуацией и реализуем проверку ввода пользователя на нашей странице default.htm. Задача проста: при нажатии на кноп­ку Submit должен вызываться метод JavaScript, который будет проверять, не остав­лено ли какое-либо из текстовых полей пустым. Если так оно и есть, пользователю будет выдаваться сообщение Internet Explorer с информацией о допущенной им ошибке. Прежде всего, нам потребуется определить для кнопки Submit событие onclick. При возникновении этого события должен вызываться метод JavaScript ValidateData (). Этот метод будет проводить проверку на отсутствие данных в тек­стовых полях:

<script language = javascript>

<!- Необходимо использовать полные имена текстовых полей в формате имя_формы.имя_поля!

function ValidateData()

{

// Если что-то забыто, выводим окно сообщения

if((MainForm.txtUserName.value == "") || (MainForm.txtPassword.value == ""))

{

Alert(“You must supply a user name and password!");

return false;

}

return true;

}

->

<input id = btnSubmit onclick = "return ValidateData()" type=submit value = Submit name = btnSubmit>

С проверкой данных в нашей форме все. Однако в этом примере были проде­монстрированы лишь самые примитивные возможности JavaScript. Чтобы дать хотя бы небольшое представления о других возможностях этого языка и браузерных скриптов в целом, давайте создадим еще одну функцию, которая будет вызы­ваться при загрузке страницы и выводить информацию о дате и времени входа пользователя. Для этой функции (она будет называться GetTheDate()) нам потре­буется еще один тег <script>. Обратите внимание на применение метода write() объекта Document, представляющего текущий документ, загруженный в Internet Explorer.

<HTML>

<HEAD>

<TITLE>HTML is unavoidable</TITLE>

<script language = javascript>

<!- Методы JavaScript для этой формы

function ValidateData()

{

if((MainForm.txtUserName.value == "") || (MainForm.txtPassword.value == "")) {

alert(“You must supply a user name and password!")

return false;

}

return true;

}

function GetTheDate() { return Date() }

->

</script>

</HEAD>

<BODY bgColor=#66ccff>

<!- Приглашение пользователю для ввода ->

<center>

<hl>The Cars Login Page</hl>

<h2>Today is: </h2>

<script language=javascript>

// Метод document.write - часть объектной модели IE

Document.write(GetTheDate());

</script>

<br> </h3>Please enter your <i>user name</i> and <i>password</i>.</h3>

<!- Создаем форму для приема ввода данных пользователем ->

<form name=MainForm>

<p>User Name: &nbsp: <input type=text name=txtUserName></p> <p>Password:    <input type=password name=txtPassword> </p>

<input id=btnSubmit onclck=ValidateData() type=submit value=Submit name=btnSubmit>   <input type=reset value=Reset name=btnReset>

</form>

</center>

</BODY>

</HTML>

Передаем данные формы (методы geTиPost)

Будем считать, что с вводом данных пользователем и их проверкой мы уже ра­зобрались. Однако введенные и проверенные данные обычно необходимо отпра­вить получателю — например, другому файлу HTML на web-сервере, почтовому серверу, странице ASP (Active Server Page) и т. п. Получатель данных формы указывается при помощи атрибута action. Давайте добавим этот атрибут в тег нашей формы:

<form name=MainForm action="http://localhost/Cars/ClassicASPPage.asp" method = "GET">

</form>

Такое значение атрибута action означает, что при нажатии кнопки Submit дан­ные формы будут переданы странице ASP с именем ClassicASPPage.asp, располо­женной в нашем виртуальном каталоге Cars на локальном компьютере. Мы опре­делили в качестве метода для передачи данных метод GET. Это значит, что данные формы будут добавлены к запросу в виде пар имя — значение. Вместо метода GET можно использовать метод POST, в этом случае значение соответствующего атрибу­та должно выглядеть следующим образом:

<form name=MainForm action="http://1oca1host/Cars/ClassicASPPage.asp" method = "POST">

</form>

При использовании метода POST данные формы не будут добавляться к строке запроса. Вместо этого для них будет выделена отдельная строка в поле заголовка HTTP. При этом передаваемые данные не будут сразу же видны всем, кто отсле­живает наш трафик, и поэтому метод POST можно считать немного более безопас­ным. Однако еще важнее, что при помощи метода POST можно передавать данные гораздо большего размера, чем при помощи GET. Однако в нашем примере мы бу­дем использовать более традиционный и простой метод GET.

Соседние файлы в папке [ПСП]