javascript - 玩! Framework 和 Uniformjs 不能很好地用于文件上传

标签 javascript playframework uniform

我正在 Play! 中编写一个小型网络应用程序,并尝试使用 UniformJS ( http://uniformjs.com/ ) 使我的表单元素看起来不错。该应用程序的一页允许用户上传文件:

#{ 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}

Controller 看起来像这样:

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

现在 Controller 收到一个空文件对象!有什么办法解决这个问题吗?

更新:

删除 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>

仍然不知道发生了什么,但这就是最终结果。

最佳答案

我使用 play-1.2.3 和 uniform-2446d99 构建您的页面,在 ff 3.6.20 中它似乎在这里工作正常。玩什么版本!你在用吗?

关于javascript - 玩! Framework 和 Uniformjs 不能很好地用于文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084704/

相关文章:

javascript - 具有自身默认值的对象解构赋值

javascript - 使用 Javascript 函数而不调用

javascript - 如何获取大型网页上的唯一单词(至少是唯一单词的样本)?

javascript - 我可以使用带有 if 语句的 for 循环来代替 .hasOwnProperty()

java - 使用 JPA EntityManager 加入 play2 框架 - 结果集作为映射?

javascript - 使用 jQuery v2.0.2 和 Play Framework 运行 Selenium 测试时出错

Java Play Framework 嵌套模板 - 参数传递

android - OpenGL 着色器。传递 float 数组

python - 使用uni-form后的神秘怪异线条

Javascript统一回发