Пятое упражнение по VBScript




В этом упражнении мы добавляем сценарий для проверки и отправки содержимого формы, которую мы создали на предыдущих уроках.

Упражнение 5: как проверить и отправить форму

В этом упражнении вы создадите документ HTML, который содержит сценарий, получающий данные с Web-страницы, выполняет вычисления и выводит результаты обратно на страницу. Кроме того, он предоставляет цены на товарыи вычисляет размер скидок в зависимости от размера заказа. И, наконец, он проверяет данные и отправляет заказ вам по почте.

Исследование документа HTML

Откройте файл p0005.txt в текстовом редакторе. Это весь код HTML этого упражнения. Заметьте новую кнопку cmdSubmit, которая будет использоваться для отправки формы по почте после проверки. Загрузите файл в Internet Explorer. При этом страница должна выглядить так.

Теперь добавьте сценарий, который будет осуществлять проверку и отправку вашей формы. Полную версию этой части упражнения вы можете найти в файле p0005a.htm.

<SCRIPT LANGUAGE="VBScript">

<!--Для работы с несовместимым броузерами

Option Explicit

Dim Cost 'Цена продукта

Dim Qty 'Количество заказанного товара

Cost=0

Sub Button1_OnClick()

Dim AD ' AmountofDiscount

Dim AT ' AmountofTax

Dim DISCOUNT_LIMIT

Dim DISCOUNT_RATE

Dim SB 'SubtotalBefore

Dim SA 'SubtotalAfter

Dim TAX_RATE

Dim TC 'TotalCost

'Проводит проверку корректности перед любыми действиями. Хотя это не

'всё, что мы можем проверить, остальное можно сделать по образу и подобию.

If (Len(document.all.Edit1.value) = 0) Then

MsgBox "Вы должны ввести количество товара."

Exit Sub

End If

If (Not IsNumeric(document.all.Edit1.value)) Then

MsgBox "Вы должны ввести число."

Exit Sub

End If

If (Cost = 0) Then

MsgBox "Вы должны выбрать один из видов товара."

Exit Sub

End If

'Определение констант

DISCOUNT_LIMIT=1000

DISCOUNT_RATE=0.10

TAX_RATE=0.06

'Вычисление подытога

Qty=document.all.Edit1.value

SB=Qty*Cost

'Проверка на минимальный объем покупок

If (SB>DISCOUNT_LIMIT) Then AD=SB*DISCOUNT_RATE Else AD=0

SA=SB-AD

'Вычисление налога и итога

AT=SA*TAX_RATE

TC=SA+AT

'Отображение результатов

document.all.Edit3.value=CStr(SB) & " $"

document.all.Edit4.value=CStr(AD) & " $"

document.all.Edit5.value=CStr(SA) & " $"

document.all.Edit6.value=CStr(AT) & " $"

document.all.Edit7.value=CStr(TC) & " $"

End sub

Sub ListBox_onchange()

Dim intMnt

intMnt=CInt(document.all.ListBox.value)

Select Case intMnt

Case 0

Cost=0

Case 1

Cost=645

Case 2

Cost=710

Case 3

Cost=320

Case 4

Cost=430

Case 5

Cost=940

Case 6

Cost=255

Case 7

Cost=150

End Select

document.all.Edit2.value=CStr(Cost) & " $"

End sub

Sub cmdSubmit_onClick()

'Отсылает данные на обработку

MsgBox "Все введено правильно. Отправляю."

Document.frmMnt.submit

End sub

-->

</SCRIPT>

Сохраните файл и загрузите его в IE. Ничего не вводя в поле Количество, желкните на кнопке Вычисление цены. Появится такое диалоговое окно.

Введите какую-либо букву в поле Количество, желкните на кнопке Вычисление цены. Появится диалоговое окно.

Введите значение 10 в поле Количество и снова желкните на кнопке Вычисление цены. На этот раз вы увидите такое диалоговое окно.

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

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

Сценарий на этой странице состоит из двух частей. Одна из них проверят содержимое формы, а другая отправляет форму на сервер.

Проверка формы

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

Мы начинаем с проверки длины содержимого поля Количество для выяснения, ввел ли пользователь хоть какую-нибуть информацию в это поле. Для этого лучше всего подходит встроенная функция VBScript Len. Если выясняется, что ее длина равна 0, то программа сообщает об этом пользователю и заканчивает работу.

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

Если данные прошли все проверки, то выполняются вычисления и отображается результат.

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

Отправка формы выполняется с помощью программы обработки события, связанной кнопкой cmdSubmit. Когда пользователь щелкает на этой кнопке, появляется сообщение о том, что заказ отправлен.

ПРИМЕЧАНИЕ Обычно обе эти функции -- проверка и отправка -- выполняются одной программой. Здесь она разделена на две для лучшего понимания.

Резюме

Вот и закончились занятия по VBScript. За это небольшое время мы рассмотрели основы использования VBScript на Web-странице. Мы начали с простого примера, который просто отображал окно сообщения, и построили из него приложение, которое принимает, обрабатывает, показывает проверяет и отправляет данные. Что еще нужно? Вместе с приложением и примерами эти уроки помогут вам при создании ваших собственных приложений. Вы можете использовать для этого полностью или частично примеры из книги издательства Piter-Press. Изучайте новые приемы там, где только можно. Написание сценариев, как и любое дело, требует опыта, настойчивости и старания.

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-04 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: