Разработка интерактивной формы

Личный Web-сервер позволяет получить данные от посетителей Web-узла, обработать заполненные формы и отправить ответы на запросы. Данный раздел поможет создать простую интерактивную форму, которую можно использовать в целях сбора информации. Предполагается, что читатель не знает языка HTML, а также не умеет программировать, однако, здесь не предпринимается попытки научить этому. Вместо этого, предлагается воспользоваться готовыми фрагментами исходного текста для разработки работоспособной формы, позволяющей заносить данные в готовую базу данных, входящую в состав личного Web-сервера. Поскольку база данных имеет формат Microsoft Access, ее можно просматривать и редактировать либо в Access, либо с помощью другой готовой программы (см. раздел Доступ в базу данных с помощью средства просмотра Web).

Чтобы создать исходный файл:
  1. В текстовом редакторе (например в блокноте Windows ) откройте файл Sampform.asp. Этот файл расположен в каталоге Windows\Help\Pws\Htm\Core.
  2. Замените текст между открывающим и закрывающим тегами <title> и </title>, а также между тегами <h1> и </h1> на заголовки страницы. Для перемещения в нужное место файла выполните автоматический поиск слова Замените.
  3. Откройте файл в средстве просмотра Web, введя в адресное поле путь и имя файла. На окне появится исходный текст программы, поскольку файл открыт, но не обрабатывается. Если файл обрабатывается как документ Web-узла, исходный текст программы не отображается на экране.
  4. Совет.   Если заголовок слишком велик для страницы, высоту его букв можно уменьшить, если заменить цифру 1 в открывающем и закрывающем тегах <h1> и </h1> на цифру 2.

  5. Сохраните файл в основном каталоге (по умолчанию C:\Inetpub\Wwwroot). Установите атрибут только для чтения и не изменяйте имя sampform.asp.
  6. Совет.   Чтобы избежать добавления расширения .txt к имени сохраняемого файла, выберите вариант Все файлы (*.*) в списке Тип файла.

Добавление элементов

Теперь все готово для вставки фрагментов исходного текста программы, отвечающих за отображение в форме различных полей, флажков и переключателей. Отдельные элементы добавляются в произвольном порядке. Нет необходимости в размещении всех элементов на странице, однако каждый элемент может быть использован только один раз. Например, в форме может быть только один элемент «Первое текстовое поле». Для создания другого текстового поля следует использовать элемент «Второе текстовое поле» или одно из двух готовых полей типа MEMO. В следующей таблице приведен список доступных элементов:

Имя элемента Тип элемента Описание
Первое текстовое поле Подпись
Эти четыре текстовых поля могут быть использованы для ввода не более 255 символов, например имен пользователей или адресов электронной почты.
Второе текстовое поле
Третье текстовое поле
Четвертое текстовое поле
Первое поле типа MEMO Подпись
Эти два поля имеют неограниченную длину и могут содержать длинный текст, например, послания от посетителей узла.
Второе поле типа MEMO
Первый флажок Подпись Флажок возвращает значение True, если он установлен, и значение False, если он снят. Значение одного флажка не влияет на значение другого флажка.
Второй флажок
Переключатель Подпись
Подпись
Подпись
Этот элемент позволяет сделать взаимоисключающий выбор из трех вариантов. При выборе первого варианта возвращается значение 1, при выборе второго - значение 2, при выборе третьего - значение 3.

 

Чтобы добавить поля в форму:
  1. Сделайте сначала эскиз формы на бумаге, используя таблицу готовых элементов (см. выше).
  2. Скопируйте и вставьте на Web-страницу, в соответствии со сделанным эскизом (см. шаг 1), следующие фрагменты исходного текста. Убедитесь в том, что весь исходный текст размещен после строки <!-- ===Вставьте элементы формы ниже этой строки=== --> и перед строкой <!-- ===Вставьте элементы формы выше этой строки== -->.
  3. Совет.   Если при копировании в начале и в конце каждого фрагмента оставить комментарии, результирующая страница будет намного легче читаться и редактироваться в дальнейшем. Комментарии не отображаются на странице при открытии ее средством проcмотра Web.

    
    <!-- ===Начало фрагмента для первого текстового поля=== -->
    
    <p> Замените этот текст подписью для первого текстового поля: </p>
    <p><input type="Text" name="FirstTextBox"></p>
    
    <!-- ===Конец фрагмента для первого текстового поля=== -->
    
    
    
    <!-- ===Начало фрагмента для второго текстового поля=== -->
    
    <p> Замените этот текст подписью для второго текстового поля: </p>
    <p><input type="Text" name="SecondTextBox"></p>
    
    <!-- ===Конец фрагмента для второго текстового поля=== -->
    
    
    
    <!-- ===Начало фрагмента для третьего текстового поля=== -->
    
    <p> Замените этот текст подписью для третьего текстового поля: </p>
    <p><input type="Text" name="ThirdTextBox"></p>
    
    <!-- ===Конец фрагмента для третьего текстового поля=== -->
    
    
    
    <!-- ===Начало фрагмента для четвертого текстового поля=== -->
    
    <p> Замените этот текст подписью для четвертого текстового поля: </p>
    <p><input type="Text" name="FourthTextBox"></p>
    
    <!-- ===Конец фрагмента для четвертого текстового поля=== -->
    
    
    
    <!-- ===Начало фрагмента для первого поля типа MEMO=== -->
    
    <p> Замените этот текст подписью для первого поля типа MEMO: </p>
    <p><textarea name="FirstMemoBox" rows=6 cols=70></textarea></p>
    
    <!-- ===Конец фрагмента для первого поля типа MEMO=== -->
    
    
    
    <!-- ===Начало фрагмента для второго поля типа MEMO=== -->
    
    <p> Замените этот текст подписью для второго поля типа MEMO: </p>
    <p><textarea name="SecondMemoBox" rows=6 cols=70></textarea></p>
    
    <!-- ===Конец фрагмента для второго поля типа MEMO=== -->
    
    
    
    <!-- ===Начало фрагмента для первого флажка=== -->
    
    <p><input type="CHECKBOX" name="FirstCheckBox" value="true" > Замените этот текст подписью для первого флажка. </p>
    
    <!-- ===Конец фрагмента для первого флажка=== -->
    
    
    
    <!-- ===Начало фрагмента для второго флажка=== -->
    
    <p><input type="CHECKBOX" name="SecondCheckBox" value="true" > Замените этот текст подписью для второго флажка. </p>
    
    <!-- ===Начало фрагмента для второго флажка=== -->
    
    
    
    <!-- ===Начало фрагмента для переключателя=== -->
    
    <p><input name="RadioButtons" type="RADIO" value="1"> Замените этот текст подписью для первого варианта. <br>
    <input name="RadioButtons" type="RADIO" value="2"> Замените этот текст подписью для второго варианта. <br>
    <input name="RadioButtons" type="RADIO" value="3"> Замените этот текст подписью для третьего варианта. </p>
    
    <!-- ===Конец фрагмента для переключателя=== -->
    
  4. Замените шаблоны подписей каждого элемента подходящим текстом. Для быстрого перемещения в нужное место файла выполните автоматический поиск слова Замените.
  5. Сохраните измененный файл.
  6. Откройте файл в средстве просмотра Web для проверки правильности отображения элементов и их подписей. На этом этапе можно не обращать внимание на текст программы, расположенный выше заголовка страницы. Если сделанные изменения не видны в окне средства просмотра Web, нажмите кнопку «Обновить».

Доступ в базу данных

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

Имя элемента Имя поля
Первое текстовое полеTB1
Второе текстовое полеTB2
Третье текстовое полеTB3
Четвертое текстовое полеTB4
Первое поле типа MEMOMB1
Второе поле типа MEMOMB2
Первый флажокCB1
Второй флажокCB2
ПереключательRB

Чтобы исправить ссылки на поля базы данных:
  1. Оператор вставки значений в базу данных можно найти, если выполнить автоматический поиск следующего текста: cm.commandtext=.
  2. В круглых скобках, следующих за словом SampleDb, перечислены через запятую имена всех полей базы данных. Следует удалить имена неиспользуемых полей, а также соответствующие им запятые. Например, если форма использует только элементы «Первое текстовое поле», «Второе текстовое поле» и «Первый флажок», этот фрагмент должен быть таким: SampleDb(TB1,TB2,CB1)
  3. Примечание.   Порядок имен полей в операторе не зависит от порядка элементов в форме и не должен изменяться.

  4. В круглых скобках, следующих за словом VALUES, стоят девять знаков вопроса, разделенные запятыми. Число знаков вопроса должно равняться числу элементов формы. Следует удалить лишние знаки вопроса и соответствующие им запятые. Например, если форма использует только элементы «Первое текстовое поле», «Второе текстовое поле» и «Первый флажок», этот фрагмент должен быть таким: VALUES (?,?,?)
  5. Строки, следующие за оператором cm.commandtext=, содержат операторы параметров элементов. Закомментируйте строки, соответствующие неиспользуемым элементам, вставив в начале каждой из них апостроф. Например, если элемент «Второе текстовое поле» отсутствует в форме, этот фрагмент должен быть таким:
  6. 'Оператор параметров второго текстового поля
    'set objparam=cm.createparameter(, 200, , 255, strTB2)
    'cm.parameters.append objparam

  7. Сохраните измененный файл и откройте его в средстве просмотра Web, введя в адресном поле: //localhost/sampform.asp.

 

Чтобы на основной странице разместить ссылку на форму:
  1. Откройте личный диспетчер Web и в левой части окна щелкните значок «Узел Web».
  2. Щелкните ссылку Изменение основной страницы и воспользуйтесь шаблоном для размещения на основной странице ссылки на форму.

См. также


© Корпорация Microsoft, 1998. Все права защищены.