Перейти к основному содержанию

Компонента Visualforce ActionFunction

О компании
Опубликовано admin
11 мая 2015
66

Компонент Visualforce ActionFunction - это компонент, позволяющий вызывать методы контроллера из JavaScript с использованием AJAX запроса при этом он должен находиться внутри компонента <apex:form>.

Компонент, позволяющий вызывать методы контроллера из JavaScript с использованием AJAX запроса.

Компонент <apex:actionFunction> должен находиться внутри компонента <apex:form>.

В отличие от <apex:actionSupport>, который обеспечивает только поддержку при вызове методов контроллера из других компонентов Visualforce, <apex:actionFunction> выполняет новую функцию, которую можно вызвать из блока кода JavaScript.

Начиная с API версии 23, вы не можете поместить <apex:actionFunction> в компоненту итерации - <apex:pageBlockTable>, <apex:repeat> и т.д.  Разместите <apex:actionFunction> после компоненты итерации, а внутри итерации разместите функцию JavaScript, которая его вызывает.

Для использования actionFunction, в первую очередь, необходимо настроить имя (name=”MyActionFunction). Это единственный обязательный атрибут в этой компоненте.

Следующий шаг - настройка action. Методы, прописанные в actionсрабатывают, когда actionFunction вызван DOM событием где-либо на странице. Используйте синтаксис слияния поля для ссылки на метод. Например, action="{!save}" вызывает метод сохранения в контроллере. Если действие не указано, страница просто обновляется.

Атрибут rendered используется, чтобы активировать или деактивировать actionFunction.

Атрибут reRender помогает обновить только выбранные фрагменты страницы после выполнения метода.

С помощью oncomplete можно определить, что произойдет после.

 JavaScript вызывается после onbeforedomupdate – после того, как запрос AJAX был обработан, но до того, как DOM браузера обновится.

В timeout мы можем установить время (в миллисекундах) до истечения времени обновления AJAX.

Атрибут namespace используется при установке необходимого пространства имен, но если этот атрибут отсутствует, пространство имен будет сгенерировано автоматически.

Как и в большинстве других компонентов, вы можете установить id для actionFunction и позволить ссылаться на него другим компонентам на странице.

В атрибуте focus вы можете отобразить ID компоненты, которая будет в фокусе после завершения запроса AJAX.

Атрибутом status является ID соответствующеq компонентs, отображающий статус запроса обновления AJAX.

Устанавливая immediate="true", мы можем определить, должно ли действие, связанное с компонентой, произойти немедленно, без обработки каких-либо условий, связанных с полями на странице.

<!-- Page: -->

visualforce

/*** Controller ***/

visualforce


Вопрос эксперту
Информация по теме
Все материалы