Имя: Пароль:
1C
1С v8
не фурычит getElementById для ПолеHTMLДокумента в УФ
0 StanLee
 
23.05.16
08:35
почему-то не выходит каменный цветок (проснулся может не с той ноги)..
хочу при открытии документа из реквизитов заполнить красивую страничку в поле HTML:

&НаКлиенте
Процедура ПриОткрытии()
    ПолеHTMLДокумента1 = ПоказатьHTML();

    ДокHTML = Элементы.ПолеHTMLДокумента1.Документ;
    Для ц = 1 По 51 Цикл
        ИмяРеквизита = "textfield"+Строка(ц);
        ДокHTML.getElementById(ИмяРеквизита).Value = Объект[ИмяРеквизита];
    КонецЦикла;
    //ЗаполнитьПоляHTML();
КонецПроцедуры

&НаСервере
Функция ПоказатьHTML()
    ДокОбъект = РеквизитФормыВЗначение("Объект");
    ПолеHTMLДокумента1 =  ДокОбъект.ПолучитьМакет("МакетHTML1").ПолучитьТекст();
    Возврат ПолеHTMLДокумента1;
КонецФункции

тормознул в отладчике на ДокHTML.getElementById(), текст HTML в ДокHTML загружен, сам ДокHTML существует как объект со всеми свойствами, т.е. IE похоже страницу уже подхватил, но getElementById() возвращает Неопределено и соответственно Value вызывает ошибку

на странице много полей в виде таблицы:
<TD class=input-width vAlign=top width=449 colSpan=3>
<P><INPUT id=textfield5 size=100 name=textfield5></INPUT></P></TD>
т.е. вроде ничего необычного, в обычных формах похожее делал, все отлично ставилось и читалось, а тут не хочет :(
в чем может быть проблема?
1 cdiamond
 
23.05.16
08:49
(0) Так твоя функция ПоказатьHTML() возвращает строку, а в ПриОткрытии ты с ним пытаешься работать как с объектом.
2 StanLee
 
23.05.16
08:50
он в Элементы.ПолеHTMLДокумента1.Документ уже объектом становится
3 cdiamond
 
23.05.16
08:56
(2) Я вот этот момент как раз не догнал, может недостаточно знаю платформу. Там же в строке всё содержание HTML  типа "<html><body><form><input>...." ?
4 StanLee
 
23.05.16
09:29
да, там текстовое поле, куда загоняется текст страницы, а в форме показывается уже как страница
5 Pistol
 
23.05.16
09:33
(0) Не надо лазить грязными руками в dom модель до окончания ее формирования. Там и событие соответствующее есть.