Для доступа к объектной модели документа используется свойство Документ поля HTML-документа. С помощью этого свойства можно получить объект document типа ВнешнийОбъект, представленный в объектной модели.
Используя свойства (documentElement, URL, innerHTML и др.) и методы (createElement(), appendChild(), getElementsByTagName() и др.) объекта document, можно программным образом изменять содержимое HTML-документа. Полностью описание и приемы работы с объектной моделью документа можно найти в специализированной литературе. Ниже мы рассмотрим только небольшой пример на эту тему.
Пусть существует следующий HTML-документ (листинг 6.88).
Листинг 6.88. Пример HTML-документа
<html>
<head>
<title>Анкета</title>
</head>
<body>
<form name='anketa' action='input.asp'>
<table>
<tr>
<td>Организация</td>
<td>
<input type=text name='firma'>
</td>
</tr>
<tr>
<td>Кому</td>
<td>
<input type=text name='to'>
</td>
</tr>
<tr>
<td>Пожелание</td>
<td>
<input type=text name='message'>
</td>
</tr>
<tr>
<td colspan=2 align=center>
<input type=submit name='ok' value='Отправить'>
</td>
</tr>
</table>
</form>
</body>
</html>
Визуально этот документ отображается следующим образом (рис. 6.9).
Рис. 6.9. HTML-документ
С точки зрения объектной модели его можно упрощенно представить следующим образом (рис. 6.10).
Рис. 6.10. Структура HTML-документа
Для того чтобы заполнить анкету, загруженную в поле HTML-документа, можно воспользоваться следующим фрагментом кода (листинг 6.89).
Листинг 6.89. Пример заполнения анкеты
Док = Элементы.ПолеHTML.Документ;
Док.forms["anketa"].firma.Value = "ООО Вперед";
Док.forms["anketa"].to.Value = "директору";
Док.forms["anketa"].message.Value = "здоровья и счастья!";
Сначала мы получаем доступ к объектной модели документа. Затем получаем элемент коллекции форм (dok.forms) с именем «anketa». И заполняем значения полей (firma, to, message) этой формы.
В результате заполненная форма будет выглядеть следующим образом (рис. 6.11).
Рис. 6.11. Заполненная форма HTML-документа