我在salesforce中有一个对象,我想根据有多少相关列表对象创建一个表单来输入值。由于我不知道有多少相关列表对象,我想尝试在页面上使用重复。
<apex:repeat value="{!prompts}" var="pmpt">
<div>
<label>{!pmpt.Name}</label>
<div>
<apex:inputText value="{!pmpt.DefaultValue__c}"/>
</div>
</div>
</apex:repeat>
因此上面的代码从控制器获取相关列表记录(提示)列表,并显示标签和分配给它的inputText值,并显示默认值。这很好但我不知道当用户从默认值中更改这些值时,如何在控制器中读取这些值。感谢。
答案 0 :(得分:0)
最简单的方法是在Controller中分配一个变量而不是
<apex:inputText value="{!pmpt.DefaultValue__c}"/>
它将是
<apex:inputText value="{!Your_Controller_Variable}"/>
这样,当您提交表单时,输入字段中的值将被分配给控制器中的变量,然后您可以使用它们执行任何所需的过程
现在,由于您有重复... 并且每个输入都与不同的记录相关,您可以做的是将 inputText 更改为 inputField ,然后添加一个按钮在页面上提交表单..这将显示每个对象字段的当前值,并且..将更新列表中的记录(您在重复中使用的记录)。喜欢这样:
<apex:inputField value="{!pmpt.DefaultValue__c}"/>
当您提交表单时,inputField会自动将值分配给相应的记录字段。