Как получить информацию о поле или переменной на стороне клиента - PullRequest
0 голосов
/ 22 января 2020

Я использую страницу Receipts (IN301000) для справочных целей:

Я хотел бы иметь возможность получить информацию о поле на стороне клиента с помощью метода GetElementByID ().

Когда я осматриваю поле и идентифицирую визуализированный идентификатор, я получаю данные:

enter image description here

Однако, если я обновлю sh страницу и снова вызвать метод, я получаю NULL:

enter image description here

Кто-нибудь знает, как сделать эту информацию всегда доступной?

Конечной целью здесь является возможность передачи данных на стороне клиента. Я могу, например, заполнить неограниченное поле событием FieldSelecting и хотел бы в идеале прочитать данные из него.

Если есть переменные клиента, которые можно установить из графика, это будет работать также .

Спасибо!

1 Ответ

1 голос
/ 23 января 2020

Скорее всего, вы получите null, потому что сценарий выполняется в iFrame top вместо main iFrame, который содержит элемент управления.

Глобальная переменная JavaScript px_alls содержит редактор элементы управления и могут быть проиндексированы с помощью идентификатора элемента управления редактора.

px_alls["edTransferNbr"].getValue();
document.getElementById("ctl00_phF_form_t0_edTransferNbr_text").value;

Сценарий выполняется в main контексте iFrame:

enter image description here Когда сценарий выполняется в контекст top iFrame вам нужно будет выбрать main iFrame.

var mainframe = document.querySelector('[name=main]').contentDocument;
mainFrame.getElementById('ctl00_phF_form_t0_edTransferNbr_text').value;

Сценарий, выполненный в top контексте iFrame:

enter image description here

...