Проблема в том, что вы не можете добавить тег ad: document (и, следовательно, вы не можете добавить туда тег ресурса) во фрагмент. Чтобы добавить javascript к фрагменту, вы добавите ad: panelFormLayout, а к нему - тег at: resource. Следующая проблема - ваш код JavaScript. Вы предполагаете, что компонент можно найти по идентификатору txt. Это верно только в том случае, если вы добавляете компонент на страницу напрямую, вне любого другого контейнера имен. Фрагмент - это контейнер именования, поэтому идентификатор клиента компонента изменяется в соответствии с его положением на странице. Поскольку вы можете добавить фрагмент на страницу несколько раз, в противном случае идентификатор txt будет присутствовать несколько раз. Чтобы увидеть разницу, вы можете проверить источник страницы при рендеринге страницы с фрагментом (областью на странице). Идентификатор будет примерно таким: r1: 0: txt вместо txt. r1 - это идентификатор региона, 0 - это индекс региона, а 'txt' - это II компонента внутри региона.