Имя: Пароль:
1C
 
Заполнить поле HTML документа
0 onx1
 
14.04.10
11:36
Можно ли заполнить одно из полей ввода внутри ПоляHTMLДокумента, если да, в какую сторону копать?
1 onx1
 
14.04.10
12:22
уп
2 onx1
 
14.04.10
12:53
Напрямую обращение ЭлементыФормы.ПолеHTMLДокумента1.Документ.activeElement.value = ЗНАЧЕНИЕ к сожалению ничего не дает
3 Шурик71
 
14.04.10
13:18
Примерно так:
Элемент.Документ.Forms["Form1"].user.value = ЛогинСайта;
4 onx1
 
14.04.10
14:02
в Forms только ie8_length и length.
5 Шурик71
 
14.04.10
22:04
(4) в (3) user = Имя поля html.
Т.е. в коде страницы находишь в нужном месте что-то типа

<form name="newmsg_form" id="newmsg_form" method="POST" action="topic.php?id=474209" onsubmit="AddMessage();return false;">

и в ней

<input name="user_name" id="user_name" disabled="" type="" class="fieldbasic" size="30" maxlength="20" value="Шурик71">

(взято с этой самой  страницы)

И пишешь:
Элемент.Документ.Forms["newmsg_form"].user_name.value = "onx1";
6 onx1
 
15.04.10
11:07
(5) такое есть но только без имени:

<form method="post" action="/cgi-bin/bv.cgi" enctype="multipart/form-data">
<input type="file" name="path"  size="50" /><input type="hidden" name="swf_file_input_name" value="path"  /><input type="submit" name=".submit" /></form>
7 onx1
 
15.04.10
16:42
Соответственно я не знаю по какому имени к ней обратиться( Да и вообще отладчик видит в Forms только 2 числа: ie8_length и length.
8 detec
 
15.04.10
17:37
Как варинат, сейчас этим занимаюсь.

Функция ВернутьОбъектДокумента(Форма) экспорт
   ПолеHTMLДокумента = Форма.ЭлементыФормы.ПолеHTMLДокумента;
   
   Объект = ПолеHTMLДокумента.Документ;
   Возврат Объект;
   
КонецФункции

Функция ВернутьDOMЭлементПОИДу(Объект, ИД)
   
   DOMЭлемент = Неопределено;
   Попытка
       DOMЭлемент = Объект.getElementByID(ИД);
   Исключение    
       
   КонецПопытки;    
   
   Возврат DOMЭлемент;
   
КонецФункции;

Функция ВернутьDOMКоллекциюПОТэгу(Объект, ИмяТэга)
   DOMКоллекция = Неопределено;
   
   Попытка
       DOMКоллекция = Объект.getElementsByTagName(ИмяТэга);
   Исключение    
       
   КонецПопытки;
   
   Возврат DOMКоллекция;
   
КонецФункции
9 Варвар
 
15.04.10
17:40
(6) как без имени, а в поле name что?
10 Asmody
 
15.04.10
17:57
ЭлементыФормы.ПолеHTMLДокумента1.Документ.Forms.item(0).children(0).value = "qwerty";
11 onx1
 
15.04.10
18:27
(10) ЭлементыФормы.ПолеHTMLДокумента1.Документ.Forms.item(0) возвращает Неопределено
(8) только getElementsByTagName дал COM-объект только обращение .value - ничего не дает.
(6) у тега Form атрибута name нет
И как вообще работать с этими com-объектами (просматривать свойства) непонятно
12 Шурик71
 
15.04.10
18:48
(11) ЭлементыФормы.ПолеHTMLДокумента1.Документ.all.path.value что-нибудь дает?
13 Otec_Igor
 
20.04.10
09:02
Для того, чтобы отработало
Элемент.Документ.Forms["newmsg_form"].user_name.value = "onx1";
нужно, чтобы "Элемент.Документ" загрузился. Если проверять до загрузки (ie8_length и length равны 0, а после загрузки 1), то выдаст исключение.
То есть достаточно таймаута или цикла с проверкой на загруженость урла.
14 Otec_Igor
 
20.04.10
09:32
Таймаут не помог. Получилось с ПодключитьОбработчикОжидания("ПроверкаЗагрузкиСтраницы"). Проверял условие ЭлементыФормы.ПолеHTMLДокумента1.Документ.URLUnencoded = "about:blank"