2015-02-11 67 views
0

我想從p上的onComplete屬性的bac​​king bean上執行一個方法:fileUpload,因爲我正在處理一些inputText值上傳動作,我想這些值被添加到文件中的另一個方法在同一個上傳點擊,這裏我不想使用另一個按鈕操作。除了fileUploadListener,如何從p上的onComplete屬性調用bean的方法:fileUpload

所以我使用p:remoteCommand使用上面的JavaScript代碼從bean中調用方法。在這裏,我在onComplete的p:fileUpload和調用p:remoteCommand的腳本上調用javascript函數,後者又調用insertProperty()方法。但insertProperty()沒有被調用。這是如何造成的,我該如何解決這個問題?提前致謝。

的JavaScript是

<script type="text/javascript"> 
         function addProperties(){       
          lazyload();  
         }       
     </script> 

</h:head> 

我的代碼是 `

<h:body> 

    <h:form id="mainformId" 
     style="background: #A9CEEA !important;margin-top:5px !important;"> 

     <div> 
      <h:form id="uploadformId"> 
      <p:messages id="msg"/> 
      <p:remoteCommand name="lazyload" process="@this" 
            actionListener="#{hubDocsBean.insertProperty}" > 
        </p:remoteCommand> 
       <p:panelGrid style="width:100%;"> 
        <p:row> 
         <p:column colspan="4"> 
          <p:fileUpload fileUploadListener="#{hubDocsBean.fileUpload}" 
           dragDropSupport="false" 
           allowTypes="/(\.|\/)(txt|doc|docx|xls|xlsx|pdf)$/" 
           update=":mainformId:tableformId:docTableId, msg" multiple="false" 
           process="IagencyId,ImarketId,IvendorId,IstationId" mode="advanced" sizeLimit="52428800" oncomplete="addProperties();" /> 

         </p:column> 
        </p:row> 
        <p:row> 
         <p:column> 
          <h:outputText value="Agency" /> 
          <p:spacer width="5"></p:spacer> 
          <p:inputText value="#{hubDocsBean.inputagency}" id="IagencyId" /> 

         </p:column> 

         <p:column> 
          <h:outputText value="Market" /> 
          <p:spacer width="5"></p:spacer> 
          <p:inputText value="#{hubDocsBean.inputmarket}" id="ImarketId" /> 

         </p:column> 

         <p:column> 
          <h:outputText value="Vendor" /> 
          <p:spacer width="5"></p:spacer> 
          <p:inputText value="#{hubDocsBean.inputvendor}" id="IvendorId" /> 


         </p:column> 
         <p:column> 
          <h:outputText value="Station" /> 
          <p:spacer width="5"></p:spacer> 
          <p:inputText value="#{hubDocsBean.inputstation}" id="IstationId" /> 

         </p:column> 
        </p:row>` 
+2

你似乎有嵌套的形式,這是非法的 – 2015-02-11 12:33:43

+1

非常感謝你的答覆,它的工作。 – Raghavendra 2015-02-13 06:12:16

回答

-2

順便說一句,你不需要有額外的JavaScript。你可以使用:

的onComplete =的

的onComplete = 「lazyload()」

,而不是 「addProperties();」

+0

這可能是一個簡化的例子......這不是問題的答案,而是一個評論 – Kukeltje 2015-07-30 15:13:53