1

我目前正在 salesforce.com 上使用带有自定义扩展名的顶点表单开发一个表单。

该表格本身旨在预订具有最大插槽数的旅行。提交表单后,我需要检查以确保在表单中选择的日期和时间仍有可用的空位(因为在加载表单和提交之间没有预订)。

当调用 PageReference save() 时,我无法让自定义控制器接收提交的表单数据。

假设我有...

<apex:form>
<apex:pageBlock>
    <apex:inputField value="{!customObject__c.Date__c}"/>
    <apex:inputField value="{!customObject__c".Time__c}"/>
    <apex:commandButton value="{!save}"/>
</apex:pageBlock>
</apex:form>

我的客户扩展框架是

public class myExtension {

    public myExtension(ApexPages.StandardController controller) {

    }

    public PageReference save(){
       return null;
    }

}

如何让 save() 访问 inputField 值,以便对现有数据库对象运行查询?

任何关于如何实现/已经实现的例子都会很棒。

4

1 回答 1

2

您的视觉力标记不正确。您需要使用方法设置 action 属性,并且 value 属性将是保存文本:

<apex:form>
    <apex:pageBlock>
        <apex:inputField value="{!customObject__c.Date__c}"/>
        <apex:inputField value="{!customObject__c".Time__c}"/>
        <apex:commandButton value="Save" action="{!save}"/>
    </apex:pageBlock>
</apex:form>

但假设以上只是一个错字,您需要引用标准控制器传入的对象:

public class myExtension {
    private CustomObject__c customObject;

    public myExtension(ApexPages.StandardController controller) {
        customObject = (CustomObject__c) controller.getRecord();
    }

    public PageReference save(){
        //You can now access the customObject and it will contain the 
        //data input by the user
        customObject.Name = ''; //Access properties on the object

        update customObject;
       return null;
    }
}
于 2012-05-11T18:28:59.637 回答