2011-08-16 9 views
2

私はPlay!に小さなWebアプリケーションを作成しています。フォーム要素を見栄え良くするためにUniformJS(http://uniformjs.com/)を使用しようとしています。アプリの1ページは、ユーザーがファイルをアップロードすることができます:再生!フレームワークとUniformjがファイルのアップロードにうまくいきません

#{ form @Application.upload(), id:'uploadform', enctype:'multipart/form-data'} 
<input type="file" id="uploadFile" name="uploadFile"/> 
<input type="submit" id="surveyChooseFileButton" class="button" value="Upload" /> 
#{/form} 

コントローラは次のようになります。

public static void upload(@Required File uploadFile, @Required String surveyName) { 
... 
} 

これは、すべてのちょうどプレイの一つのようです!例(http://www.playframework.org/documentation/1.0/5things#a5.Straightforwardfileuploadmanagementa)、すべて正常に動作します。問題は、私がファイル入力にUniformを適用するときです:

$(function(){ $("input:file").uniform(); }); 

コントローラはnull Fileオブジェクトを受け取ります。これを回避する方法はありますか?

UPDATE:それをしないidを削除

(それは非常に説得力のように見えたが!)。問題の要素のビューソースは、次のように明らかにします。

<div id="uniform-uploadFile" class="uploader"> <!-- A new div --> 
    <!-- My input element turns invisible --> 
    <input id="uploadFile" type="file" name="uploadFile" size="19" style="opacity: 0;"> 

    <!-- Uniform adds these --> 
    <span class="filename" style="-moz-user-select: none;">No file selected</span> 
    <span class="action" style="-moz-user-select: none;">Select</span> 
</div> 

何が起こっているのかまだまだわかりませんが、これが最終結果です。

+0

制服を無効にしても確実に機能しますか? –

+0

ほとんど意味がないので、はい。 "input:file"をUniform初期化から外すとすぐに動作します。 – andronikus

+0

idsを削除しようとすると、Uniformソースコードを見てから、クラスとIDが向上します。 –

答えて

0

play-1.2.3とuniform-2446d99を使用してページを構築していますが、ここでは正常に動作しているようです。どんなバージョンのプレイ!使っていますか?

関連する問題