Опубликован: 19.03.2007 | Уровень: для всех | Доступ: платный
Лекция 11:

Создание форм

Отправка формы

Приведенная выше форма 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.

Елена Сапегова
Елена Сапегова

После прохождения теоретической части пришло письмо об окончании теоретической части курса, будет ли практическая часть?

Владислав Нагорный
Владислав Нагорный

Подскажите, пожалуйста, планируете ли вы возобновление программ высшего образования? Если да, есть ли какие-то примерные сроки?

Спасибо!