Важно помнить, что назначение форм состоит в сборе данных от пользователей. Конечно, эти данные имеют некоторое дальнейшее назначение, включающее обычно некоторую обработку информации. Хотя сценарии на основе браузера, написанные на JavaScriptе, могут выполнить некоторую предварительную обработку данных, основная часть обработки происходит на сервере, используя языки программирования на стороне сервера.
Способ выполнения обработки на сервере важен для понимания при проектировании форм. Хотя здесь не рассматривается обработка форм, требуется иметь общее понимание, как сервер идентифицирует переданные ему данные формы.
Когда происходит щелчок на кнопке или изображении submit, данные из формы упаковывается для доставки на страницу, указанную в атрибуте action тега <form>. Когда формы передаются на сервер Web, эта информация передается указанным методом, который может быть get или post. Обычно данные формы передаются на сервер с помощью метода post - это означает, что они приходят на сервер отдельным от запроса URL потоком данных. Когда данные приходят, они делаются доступными для страницы с адресом URL и ее сценария обработки.
Важно помнить, что назначение форм состоит в сборе данных от пользователей. Конечно, эти данные имеют некоторое дальнейшее назначение, включающее обычно некоторую обработку информации. Хотя сценарии на основе браузера, написанные на JavaScriptе, могут выполнить некоторую предварительную обработку данных, основная часть обработки происходит на сервере, используя языки программирования на стороне сервера.
Способ выполнения обработки на сервере важен для понимания при проектировании форм. Хотя здесь не рассматривается обработка форм, требуется иметь общее понимание, как сервер идентифицирует переданные ему данные формы.
Когда происходит щелчок на кнопке или изображении submit, данные из формы упаковывается для доставки на страницу, указанную в атрибуте action тега <form>. Когда формы передаются на сервер Web, эта информация передается указанным методом, который может быть get или post. Обычно данные формы передаются на сервер с помощью метода post - это означает, что они приходят на сервер отдельным от запроса URL потоком данных. Когда данные приходят, они делаются доступными для страницы с адресом URL и ее сценария обработки.
Приведенная выше форма Membership была создана для отправки на страницу, содержащую сценарий обработки. Если заполнить все поля и щелкнуть на кнопке, то на указанный адрес будет получено сообщение email, содержащее введенную информацию. Необходимо ввести действующий адрес email, чтобы форма работала правильно.
Следующий листинг содержит серверный сценарий, используемый для обработки присланной формы. Этот сценарий находится на странице, заданной в адресе URL атрибута action тега <form>. Он получает поток имен и значений, переданных из формы, и форматирует эту информацию как сообщение email, которое посылается по адресу, извлеченному из текстового поля формы Email. Этот сценарий написан на языке Visual Basic.
<SCRIPT runat="server">
Sub Submit_Form (Src As Object, Args As EventArgs)
If Email.Text <> "" Then Dim MyEmail = New MailMessage MyEmail.From = "dadams@mail.maconstate.edu" MyEmail.To = Email.Text MyEmail.Subject = "Form Submission" MyEmail.Body = "<h3>Membership Form</h3>" MyEmail.Body &= "<b>First Name = </b> " & FirstName.Text & "<br/>" MyEmail.Body &= "<b>Last Name = </b> " & LastName.Text & "<br/>" If Gender1.Checked Then MyEmail.Body &= "<b>Gender = </b> " & Gender1.Text & "<br/>" ElseIf Gender2.Checked Then MyEmail.Body &= "<b>Gender = </b> " & Gender2.Text & "<br/>" Else MyEmail.Body &= "<b>Gender = </b>Not checked<br/><br/>" End If MyEmail.Body &= "<b>Major = </b> " & Major.SelectedItem.Text & "<br/>" MyEmail.Body &= "<b>Reason = </b> " & Reason.Text & "<br/>" MyEmail.BodyFormat = MailFormat.Html SmtpMail.Send(MyEmail) Message.Text = "Form posted. Check your email." Else Message.Text = "Missing email address. Not posted." End If
End Sub
</SCRIPT>
Листинг 11.37. Серверный сценарий для создания сообщения email из введенных в форму данных
Как упоминалось ранее, обработка формы находится за рамками этого учебника. Тем не менее, необходимо иметь представление о происходящей на сервере работе при взаимодействии с формами Web. Это очень простой пример обработки форм. В реальной ежедневной деятельности Web значительно больше времени и усилий уходит на обработку форм, чем на их проектирование и кодирование. Профессиональный разработчик Web должен постоянно продолжать образование, чтобы быть и системным аналитиком, и системным дизайнером, и программистом Web. Изучение кода XHTML является только небольшой частью этих знаний.