0

这是我的输出字段代码。当字段为空时呈现按钮,当字段具有值时,清除按钮将显示并允许我清空字段并再次呈现按钮。但是一旦清除该字段,我就无法管理它以再次呈现按钮,有人可以建议修复吗?

<apex:pageBlockSectionItem >
  <apex:outputLabel value="Order:" for="callerorder"/>
  <apex:outputPanel id="callerorder">
    <apex:outputField value="{!newPhoneCallRecord.Order__c}" />
    <apex:commandButton value="x" rendered="{!!ISBLANK(newPhoneCallRecord.Order__c)}" rerender="phoneRecordSection">
      <apex:param name="orderRMV" value="" assignTo="{!newPhoneCallRecord.Order__c}"/> 
    </apex:commandButton>
  </apex:outputPanel>
4

1 回答 1

3

李,

鉴于您希望这是动态的,您可能应该使用 javascript 启用/禁用该按钮。通过利用该onChange事件,您可以根据需要切换按钮的可见性。

也就是说,使用 an 分配一个空值<apex:param>似乎是一种有点左字段的情况。通过控制器清除此字段的更标准方法是在控制器上实现一个 clear 方法,如下所示:

public PageReference ClearOrder()
{
  newPhoneCallRecord.Order__c = "";
  return null;
}

然后从命令按钮调用此方法:

<apex:outputPanel id="callerorder">
  <apex:outputField value="{!newPhoneCallRecord.Order__c}" />
  <apex:commandButton value="x" rendered="{!!ISBLANK(newPhoneCallRecord.Order__c)}" rerender="phoneRecordSection" action="{!ClearOrder}"/>
</apex:outputPanel>
于 2012-07-18T02:13:23.003 回答