0

「ワンクリックボタン」を作成して、ファイルアップロードフォームでアクションメソッドのリクエストを2回送信できないようにしようとしています。コードは次のとおりです。

<h:form id="importForm" enctype="multipart/form-data">
   <p:messages id="messages" showDetail="true" autoUpdate="true"/>

   <h:panelGrid>            
     <p:fileUpload value="#{importController.uploadFile}" mode="simple" />

     <p:commandButton id="importButton" styleClass="commandButton" value="Send" action="#{importController.getFile}" ajax="false"/>   
   </h:panelGrid>
</h:form>

の値を設定するとonclick="importButton.disable()"、ボタンは無効になりますが、アクションメソッドが呼び出されることはありません。コールバックとして置くとonclick="alert('hello!')"、リクエストのようなものが送信されます。PrimeFacesは、送信ボタンが無効になっているかどうかを制御するある種のJSコードを生成しますか?

何か助けはありますか?ありがとう!

PrimeFaces 3.3.1

Java6にTomcat7.0.23が組み込まれたLiferay6.0.1

PrimeFaces Liferay Bridge 3.1.1-ga2

4

1 に答える 1

2

私があなたを正しく理解したなら、を使ってみてくださいonclick="setTimeout('importButton.disable()";', 50);"

無効にしたボタンが機能することは期待できません(アクションメソッドを呼び出す)が、クリック後に無効にすることはできます...

于 2012-12-18T10:24:53.123 に答える