経緯
入力内容によって後続の選択値を変えたいのに、
<apex:inputFile>
タグとrerender属性の併用で発生するエラーが発生してしまった。
apex:inputFile can not be used in conjunction with an action component, apex:commandButton or apex:commandLink that specifies a rerender or oncomplete attribute.
<apex:actionRegion>
を使って対応できたので備忘録!
apex:actionRegion
apex:actionRegion:Visualforce開発者ガイドによると、
「コンポーネントを区切る領域」、rerender属性での動作制御が可能。
<div>
種別:
// Apexに送りたい部分だけactionRegionで囲む。inputFileは入れない
<apex:actionRegion>
<apex:selectList id="type_1" value="{!selectedType}" size="1">
<apex:selectOptions value="{!types}"/>
<apex:actionSupport event="onchange" reRender="type_2,type_3"/>
</apex:selectList>
</apex:actionRegion>
<apex:selectList id="type_2" value="{!selectedType2}" size="1">
<apex:selectOptions value="{!types2}"/>
</apex:selectList>
<apex:selectList id="type_3" value="{!selectedType3}" size="1">
<apex:selectOptions value="{!types3}"/>
</apex:selectList>
</div>
あとがき
一生初心者なのでよりよい方法があったら教えてください!