2011-08-16 67 views
2

我在Play!中寫了一個小的web應用程序,並嘗試使用UniformJS(http://uniformjs.com/)使我的表單元素看起來不錯。該應用程序的一個頁面,用戶可以上傳文件:玩! Framework和Uniformjs不能很好地播放文件

#{ 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(); }); 

現在控制器接收到空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

儘管沒有什麼意義,但是。從「統一初始化」中取出「輸入:文件」會立即生效。 – andronikus

+0

嘗試刪除ID,在快速查看統一源代碼後,它會使用類和ID進行增強。 –

回答

0

我使用play-1.2.3和uniform-2446d99構建你的頁面,在ff 3.6.20中它似乎在這裏工作得很好。玩什麼版本!你正在用嗎?

相關問題