[SalesForce] reRender problem with apex inputFile can not be used in conjunction with an action component

I have actionFunction with rerender on it, It rerender the textarea field in the form. I have inputFile field. the problem is when I put them both together inside form I get this error apex inputFile can not be used in conjunction with an action component. When I put actionFunction outside the form the TextArea Field won't rerender. if I put inputFile outside the form it comes as null value.
my code

<apex:outputPanel id="calPanel">
<apex:form >
    <apex:PageBlock>
        <apex:pageBlockSection title="Edit Email">
            <apex:panelGrid columns="2" cellpadding="5%" cellspacing="5%">


                <apex:outputLabel styleClass="labelText"></apex:outputLabel>
                <apex:inputTextarea id="idTextarea" value="{!allStringRecipients}" disabled="false" styleClass="wideTextArea"/>

                <apex:outputLabel styleClass="labelText">Use Template:</apex:outputLabel>
                <apex:selectList size="1" styleClass="templateSelect">
                    <apex:selectOptions value="{!templateOptions}" />
                </apex:selectList>

                <apex:outputLabel styleClass="labelText"></apex:outputLabel>
                <apex:CommandButton value="Insert Template" onclick="insertTemplate();" rerender="editor, idSubject"/>


        <apex:outputLabel styleClass="labelText">Attach File</apex:outputLabel>
        <apex:inputFile value="{!attachment.body}" filename="{!attachment.name}"/>

            </apex:panelGrid>
        </apex:pageBlockSection>
        <apex:pageBlockButtons >
            <apex:CommandButton value="Send" action="{!send}"/>
        </apex:pageBlockButtons>
    </apex:PageBlock>
    <apex:actionFunction name="CallApexMethod" action="{!myActionInController}" reRender="idTextarea"/>
</apex:form>
   </apex:outputPanel>

Best Answer

You can solve it using this: Put inputfile and rest of the fields in separate 'apex:form' tag or 'apex:Actionregion' tags.
That should resolve the issue.