Учебник по VBScript
Dynamik HTML
© Питер, 2000

Урок 5. Использование VBScript при создании форм

Поскольку возрастает интнерес к формам на Web-страницах, появляется необходимость в проверке правильности данных перед их отправкой броузером клиента на сервер. Как язык сценария VBScript хорошо приспособлен для решения этой задачи. После того как заполнена и проверена, отправить данные может тот же самый сценарий. На этом уроке мы рассмотрим процессы проверки и отправки данных.

Проверка содержимого ваших форм

Этот процесс заключаетсч в проверке того, что:

  • введены все требуемые данные;
  • все данные введены правильно.

Написание сценария, осуществляющего такую проверку, однообразно и утомительно, но позволяет избавиться от ошибок при передаче данных.

Пример такой проверки, который мы будем исследовать, не задействует ничего нового из средст VBScript. Мы просто использовали элементы, изученные в предыдущих уроках, и соединили их новым способом. Перед тем как идти дальше, вы можете посчитать для себя полезным поразмышлять самостоятельно, как это все можно сделать с помощью уже знакомых средств VBScript.

Уже подумали? Теперь рассмотрим пример, для того чтобы показать вам, что можно сделать для проверки содержимого форм.

Проверка вводимой информации

Этот пример на удивление прост. В нем есть единственное поле, куда пользователь может ввести свой возраст и кнопку, используемую для отправки данных на сервер.

<HTML>
<HEAD>
<TITLE>Упражнение по VBScript: 5</TITLE>

<SCRIPT LANGUAGE="VBScript">
<!--Это сделано для броузеров, которые не понимают
   Option Explicit

  Sub cmdSubmit_OnClick()
    'Проверяем, введена ли информация пользователем.
    If (Len(document.frmExample5a.txtAge.value) = 0) Then
        MsgBox "Перед отправкой вы долны ввести свой возраст."
        Exit Sub
    End If
    'Проверка того, является ли введенная информация числом.
    If (Not(IsNumeric(document.frmExample5a.txtAge.value))) Then
       MsgBox "В поле возраста необходимо ввести число."
       Exit Sub
    End If

    'Проверяем, правильно ли введен возраст.
    If (document.frmExample5a.txtAge.value < 0) Or _
       (document.frmExample5a.txtAge.value > 100) Then
      MsgBox "Вы ввели неверный возраст (столько не живут)."
      Exit Sub
    End If

    'Если данные корректны, то отправляем их.
    MsgBox "Возраст введен верно. Спасибо."
    document.frmExample5a.submit
End Sub

-->
</SCRIPT>
</HEAD>

<BODY>
<H1>Проверка вводимой информации</H1>
<P>Это упражнение демонстрирует технологию VBScript.</P>

<FORM NAME="frmExample5a">
  <TABLE>
    <TR>
      <TD>Введите свой возраст:</TD>
      <TD><INPUT TYPE="Text" NAME="txtAge" SIZE=2></TD>
    </TR>
    <TR>
      <TD><INPUT TYPE="Button" NAME="cmdSubmit" VALUE="Отослать"></TD>
      <TD></TD>
    </TR>
  </TABLE>
</FORM>

</BODY>
</HTML>

Как это работает

Основная часть этого сценария -- это программа обработки события OnClick кнопки отправки cmdSubmit. Начинае мы с проверки, ввел ли пользователь вообще что-нибуть в поле, с помощью встроенной функции VBScript Len. Эта функция возвращает длину указанной строки. Ели эта длина равна 0, данные не корректны. Мы сообщаем об этом пользователю и выходим из роцедуры отправки с помощью выражения Exit Sub:

'Проверяем, введена ли информация пользователем.
  If (Len(document.frmExample5a.txtAge.value) = 0) Then
   MsgBox "Перед отправкой вы долны ввести свой возраст."
   Exit Sub
 End If

Дальше мыпроверяем, является ли эта информация числом. Встроенная функция VBScript IsNumeric возвращает значение true, если проверяемое значение -- числовая величина. Если нет, мы говорим об этом пользователю и выходим из программы:

'Проверка того, является ли введенная информация числом.
  If (Not(IsNumeric(document.frmExample5a.txtAge.value))) Then
   MsgBox "В поле возраста необходимо ввести число."
   Exit Sub
 End If

Последняя проверка заключается в отсеве значений, больших 100 и меньших 0.

'Проверяем, правильно ли введен возраст.
  If (document.frmExample5a.txtAge.value < 0) Or _
   (document.frmExample5a.txtAge.value > 100) Then
   MsgBox "Вы ввели неверный возраст (столько не живут)."
   Exit Sub
 End If

Вот и все. Познакомившись с этим примером, вы узнали об основных приемах для проверки данных с использованием средств VBScript.

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

По сравнению с проверками поцесс отправки выглядит очень простым. В нашем примере мы использовали стандартную кнопку HTML с надписью Отослать, связанную с проседурой обработки, которая проверяет и отсылает содержимое формы.

Код, который нужно было добавить для отправки, показан ниже:

' Если данные корректны, то отправляем их.
 MsgBox "Возраст введен верно. Спасибо."
 document.frmExample5a.submit

Выражение с функцией MsgBox сообщает пользователю, что введенная информация обработанна. Затем форма отправляет на сервер с помощью метода submit объекта form.

[ продолжение ]


[ назад | на главную | начало ]


 

 
Hosted by uCoz