После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть? |
Создание форм
Отправка формы
Приведенная выше форма 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 является только небольшой частью этих знаний.
Действие mailto:
Обычно информация из формы передается на сервере для обработки сценарию, как в случае с показанной выше формой Membership. Можно, однако, переслать информацию из формы с помощью сообщения email, не задействуя сценарий. Этот метод использует mailto: в адрес URL атрибута action тега <form>, задающий адрес email для получения информации. Синтаксис действия mailto: имеет следующий вид.
<form action="mailto:email@address">
При щелчке на кнопке отправки формы, которая использует действие mailto:, компьютер применяет программу email для получения содержимого формы Web. В зависимости от конфигурации системы email, это сообщение email можно будет отредактировать или оно посылается автоматически в адрес email атрибута mailto:.
Примечание. Этот метод работает только при использовании системы email, совместимой с протоколом POP3 (например, система поддерживающая Microsoft Exchange Server). Он не работает в почтовой системе с протоколом SMTP, которая обычно установлена на серверах Web.