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

一.apex:actionRegion

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

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

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

二.apex:actionSupport

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

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

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

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

 demo舉例:

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

iOS培訓(xùn),Swift培訓(xùn),蘋(píng)果開(kāi)發(fā)培訓(xùn),移動(dòng)開(kāi)發(fā)培訓(xùn)

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

網(wǎng)友評(píng)論