You need to sign in to do that
Don't have an account?
rerender only one block and actionStatus disappear instantly
Hi
I've a page with some blocks repeated, as i don't know at the creation how many they are. First blocks have some dropdowns, following blocks contain a upload file.
<apex:outputPanel rendered="true" layout="block" style="width:440px;margin-left:auto;margin-right:auto;"> <apex:repeat value="{!ad.advantageCafOptionList}" var="ado"> <apex:outputPanel id="OtherOption" rendered="{!ado.selected && ado.hasSizeColor}"> <apex:repeat value="{!ado.advOrderingInfosList}" var="advoi"> <apex:outputPanel layout="block" styleClass="myFormBudgetFieldset" > <div style="margin-top:5px;margin-bottom:5px;"> <apex:outputText >{!ado.Option_Displayed_Name}</apex:outputText> <apex:outputLabel style="padding-left:3px;" for="sizeBikeSelected">Taille:</apex:outputLabel> <apex:selectList style="margin:0px 5px;" id="sizeBikeSelected" value="{!advoi.sizeBike}" size="1"> <apex:selectOptions value="{!ado.selectOptionSizeBike}"/> </apex:selectList> </div> </apex:outputPanel> </apex:repeat> </apex:outputPanel> <apex:outputPanel id="uploadOption" rendered="{!ado.selected && ado.hasNoFixedPrice}"> <apex:repeat value="{!ado.advNoFixedPriceOfferList}" var="advnfpo"> <apex:actionRegion> <apex:outputPanel layout="block" styleClass="myFormBudgetFieldset" > <div style="margin-top:5px;margin-bottom:5px;"> <apex:outputText >{!ado.Option_Displayed_Name}</apex:outputText> <div style="padding-left:15px;padding-top:5px;"> <apex:outputPanel id="uploadFile"> <apex:actionStatus id="refreshStatus" startText=" (Uploading...) " stopText=" "/> <apex:outputText rendered="{!not(advnfpo.attachDone)}"> <apex:outputLabel value="File" for="file"/> <apex:inputFile value="{!advnfpo.attach.body}" filename="{!advnfpo.attach.name}" id="file" /> <apex:commandButton action="{!advnfpo.upload}" value="Upload"> <apex:actionSupport event="onclick" rerender="{!$Component.uploadFile}" status="refreshStatus"/> </apex:commandButton> </apex:outputText> <apex:outputText rendered="{!advnfpo.attachDone}"> Attachment already uploaded </apex:outputText> </apex:outputPanel> </div> </div> </apex:outputPanel> </apex:actionRegion> </apex:repeat> </apex:outputPanel> </apex:repeat> </apex:outputPanel>
I've 2 problems:
1/ when uploading one attachment, i would like to refresh only the block where is the upload file, and not all the blocks. Currently, if I select the values in the dropdowns of the first blocks, and then upload a file, all the values of the dropdowns are lost after the refresh. I tried the <apex:actionRegion> as i saw on another topic, but it doesn't work. I used also the {!$Component.uploadFile} to determine which id of the loop should be rerendered, but without success.
2/ when uploading the file, i would like to display a message "uploading ..". I used the <apex:actionStatus> but it disappear almost instantly. At the end of the upload, i switch the <ouputText> to be displayed. This happens much later the actionStatus disappear. I don't understand why.
Thanks for your help.
Ced