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>
還不知道發生了什麼事情,但這是最終結果。
如果您禁用制服,您是否絕對確定它有效? –
儘管沒有什麼意義,但是。從「統一初始化」中取出「輸入:文件」會立即生效。 – andronikus
嘗試刪除ID,在快速查看統一源代碼後,它會使用類和ID進行增強。 –