我们在开发中,很难会遇见不提交表单的情况。常用的apex:commandButton,apex:commandLink,apex:actionFunction,apex:actionSupport。他们进行操作的时候,会将整个表单提交。但是我们很多时候的需求,只是希望提交一部分内容,而不是全部。这个时候,我们就需要用到apex:actionRegion.
一.apex:actionRegion
apex:actionRegion为当一个ajax请求生成的时候,可以通过它来区分哪部分区域/组件可以应该被Force.com Service处理,只有在actionRegion内部的组件元素被处理。
apex:actionRegion用于apex:form中涉及到表单提交指定区域块或者组件的内容,如果一个表单提交请求需要提交整个页面,则不必使用apex:actionRegion。
apex:actionRegion尽管可以用于ajax请求的时候,指定区域提交,但是却无法定义请求完成后的reRender区域,reRender操作仍然在相关的控件的reRender部分来操作,即apex:actionRegion作用只在于提交表单时可以指定区域内容来提交。
二.apex:actionSupport
actionSupport作用为当一个特定的事件被触发,比如单击,失去焦点,鼠标移入等操作被触发时,允许组件进行异步的刷新功能,常用场景为联动,失去焦点后校验在数据库中是否唯一等。
actionSupport和actionFunction在功能上很相像,不过有几点小区别:
1.actionSupport是直接被其他的元素调用,actionFunction可以通过js调用,你可以在js中进行一些简单的处理,也可以直接被其他元素调用;
2.actionSupport仅允许在单一的事件上调用action的method,actionFunction可以被多个事件调用。
demo举例:
1.TestActionSupportController:设置一个testOptions变量,初始值是xxx,当调用changeOptions后变成yyy
1 public with sharing class TestActionSupportController { 2 3 public&nbs