Теперь давайте добавим в нашу страницу default.htm клиентскую поддержку контроля вводимых в форму данных. Нам нужно, чтобы при щелчке пользователя на кнопке Отправить вызвалась функция JavaScript, которая проверяла бы каждый текстовый блок на пустые значения. При наличии пустого значения должно появиться окно сообщения с указанием ввести правильные данные. Сначала обработайте событие onclick для кнопки Отправить.
‹input name="btnSubmit" type="Submit" value="Submit" id="btnSubmit" languaege="javascript" onclick
Этот обработчик события реализуйте так, как показано ниже.
function btnSubmit_onclick {
// Если пользователь о чем-то забыл, отобразить сообщение.
if ((defaultPage.txtUserName.value == "") || (defaultPage.txtPassword.value == "")) {
alert("Следует указать имя пользователя и пароль!");
return false;
}
return true;
}
Теперь вы можете открыть свой любимый браузер, перейти к странице default.htm в виртуальном каталоге Cars и проверить работу вашего сценария клиента.
http://localhost/Cars/default.htm
Подача запроса формы (GET и POST)
Теперь, когда у вас есть простая HTML-страница, мы должны выяснить, как передать данные формы обратно Web-серверу для обработки. При построении HTML-формы в открывающем дескрипторе ‹form› обычно задается атрибут action, указывающий получателя вводимых в форму данных. Возможными получателями могут быть почтовые серверы, другие файлы HTML, файлы ASP (как "классические", так и .NET) и т.д. Для нашего примера мы используем "классический" файл ASP с именем ClassicAspPage.asp. Обновите свой файл default.htm, указав в нем следующие атрибуты в открывающем дескрипторе ‹form›.
‹form name="defaultPage" id="defaultPage" action="http://localhost/Cars/ClassicAspPage.asp" method = "GET"›
‹/form›
Добавленные атрибуты гарантируют, что при щелчке на кнопке Отправить данные формы будут отправлены файлу ClassicAspPage.asp с указанным URL. Указание method = "GET" для режима передачи означает, что данные формы присоединяются к строке запроса в виде набора пар имен и значений, разделенных символами амперсанда.
http://localhost/Cars/ClassicAspPage.asp?txtUserName=Andrew&txtPassword=abcd123$&btnSubmit=Submit
Другой метод передачи данных формы Web-серверу указывается с помощью method = "POST".
‹form name="defaultPage" id="defaultPage" action="http://localhost/Cars/ClassicAspPage.asp" method = "POST"›
‹/form›
В этом случае данные формы не присоединены к строке запроса, а записываются в отдельной строке в рамках HTTP-заголовка. При использовании POST данные формы будут невидимы для внешнего наблюдателя. Еще более важно то, что POST не имеет ограничений на длину символьных данных (многие браузеры выдвигают ограничения на длину запросов с использованием GET). Пока что для отправки данных формы странице-получателю *.asp мы будем использовать HTTP-метод GET.
Создание "классической" ASP-страницы
"Классическая" ASP-страница является комбинацией HTML и программного кода сценария сервера. Если вы никогда не работали с ASP, вам будет полезно знать, что целью использования ASP является динамическое построение HTML-кода с помощью
В нашем примере ASP-страница использует внутренний COM-объект Request, чтобы прочитать введенные в форму данные (присоединенные к строке запроса) и возвратить их обратно вызывающей стороне в виде эхо (не слишком впечатляет, но поставленная задача будет выполнена). Для сценария сервера мы используем VBScript (что обозначено директивой language).
С этой целью создайте новый HTML-файл и сохраните его с именем ClassicAspPage.asp в той папке, куда проецируется ваш виртуальный каталог (например, в папке C:\CodeTests\CarsWebSite). Реализуйте эту страницу так, как предлагается ниже.
‹%@ language="VBScript" %›
‹html›
‹head›
‹titlе›Страница Cars‹/title›
‹body›
‹h1 align="center"›Вот что вы нам прислали:‹/h1›