我們在開發(fā)中,很難會遇見不提交表單的情況。常用的apex:commandButton,apex:commandLink,apex:actionFunction,apex:actionSupport。他們進(jìn)行操作的時候,會將整個表單提交。但是我們很多時候的需求,只是希望提交一部分內(nèi)容,而不是全部。這個時候,我們就需要用到apex:actionRegion.

一.apex:actionRegion

apex:actionRegion為當(dāng)一個ajax請求生成的時候,可以通過它來區(qū)分哪部分區(qū)域/組件可以應(yīng)該被Force.com Service處理,只有在actionRegion內(nèi)部的組件元素被處理。

apex:actionRegion用于apex:form中涉及到表單提交指定區(qū)域塊或者組件的內(nèi)容,如果一個表單提交請求需要提交整個頁面,則不必使用apex:actionRegion。

 apex:actionRegion盡管可以用于ajax請求的時候,指定區(qū)域提交,但是卻無法定義請求完成后的reRender區(qū)域,reRender操作仍然在相關(guān)的控件的reRender部分來操作,即apex:actionRegion作用只在于提交表單時可以指定區(qū)域內(nèi)容來提交。

二.apex:actionSupport

actionSupport作用為當(dāng)一個特定的事件被觸發(fā),比如單擊,失去焦點(diǎn),鼠標(biāo)移入等操作被觸發(fā)時,允許組件進(jìn)行異步的刷新功能,常用場景為聯(lián)動,失去焦點(diǎn)后校驗(yàn)在數(shù)據(jù)庫中是否唯一等。

 actionSupport和actionFunction在功能上很相像,不過有幾點(diǎn)小區(qū)別:

1.actionSupport是直接被其他的元素調(diào)用,actionFunction可以通過js調(diào)用,你可以在js中進(jìn)行一些簡單的處理,也可以直接被其他元素調(diào)用;

2.actionSupport僅允許在單一的事件上調(diào)用action的method,actionFunction可以被多個事件調(diào)用。

 demo舉例:

 1.TestActionSupportController:設(shè)置一個testOptions變量,初始值是xxx,當(dāng)調(diào)用changeOptions后變成yyy

iOS培訓(xùn),Swift培訓(xùn),蘋果開發(fā)培訓(xùn),移動開發(fā)培訓(xùn)

 1 public with sharing class TestActionSupportController { 2      3     public&nbs