|
не фурычит 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 модель до окончания ее формирования. Там и событие соответствующее есть.
|
|