首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HTML5 FileList - jsRender

HTML5 FileList - jsRender
EN

Stack Overflow用户
提问于 2012-06-25 20:02:19
回答 1查看 438关注 0票数 0

使用新的HTML5FileAPI,我尝试将用户选择的文件传递给一个模板(用jsRender呈现)。下面是HTML:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery.js"></script>
  <script src="http://borismoore.github.com/jsrender/jsrender.js"></script>
  <script>
    $(function() {
      $(':file').change(function() {
        //$('#files-placeholder').html($('#files-template').render({ files: [ { name: 'Test 1' }, { name: 'Test 2' } ] }));
        $('#files-placeholder').html($('#files-template').render({ files: this.files }));
      });
    });
  </script>
</head>
<body>
  <form>
    <input name="files" type="file" multiple="multiple" />
    <script id="files-template" type="text/x-jsrender">
      <ul>
        {{for files}}
          <li>{{>name}}</li>
        {{/for}}
      </ul>
    </script>
    <div id="files-placeholder"></div>
  </form>
</body>
</html>

然而,它并没有像预期的那样工作。作为演示,如果您尝试使用注释掉的行呈现模板,那么它可以很好地工作。

如果有人能告诉我我做错了什么,我将不胜感激。谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-06-25 20:43:55

模板引擎似乎只适用于实数组,而不适用于FileList

我在这里修好了,http://jsfiddle.net/4m3YQ/5/

如下所示转换为数组:

代码语言:javascript
复制
[].slice.call(this.files)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11188989

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档