【问题标题】:uploaded file details in html tablehtml表中上传的文件详细信息
【发布时间】:2014-05-31 01:37:13
【问题描述】:

一旦选择要上传的文件,我必须在表格中显示选择要上传的文件的详细信息(文件大小、文件名)。我可以显示所选文件的详细信息,但如果用户选择第二个文件, 表格中的第二行应动态添加并显示所选第二个文件的详细信息,并应在表格的“sno”列中显示序列号。即使用户一次可以选择多个文件,但应显示每个文件的详细信息在表格的单独行中。 http://jsfiddle.net/f38cB/ 下面是代码: JSP 代码:

   <input type="file" name="fileUpload" size="50" id="file1" multiple/>

        <table border="1" id="uploadTable" style="visibility:hidden">
              <tr> <th>SNo</th><th>FileName</th><th>FileSize</th><th>Action</th> </tr>
              <tr><td><input type="text" name="sno" id="sno"/></td>
                    <td><input type="text" name="fileName" id="fileName"/></td> 
                    <td><input type="text" name="fileSize" id="fileSize"/></td>
                  <td width="100%"><a href="">delete</a></td>
        </tr> 
      </table>

JavaScript 代码:

 document.getElementById("file1").onchange = function() {
        document.getElementById("uploadTable").style.visibility="visible";
        var file = this.files[0];
        document.getElementById("fileSize").value = file.size + " bytes";
        document.getElementById("fileName").value = file.name;

        };

【问题讨论】:

  • 您的 JSP 代码在我看来像 html?
  • @RUJordan - 在 jsp 页面中是的,我已经为此功能编写了 html 代码。
  • 一种方法是将&lt;tr&gt;&lt;td&gt; 添加到您的 JS 函数中,然后追加而不是替换值。

标签: javascript jsp


【解决方案1】:

看看这个:http://jsfiddle.net/f38cB/1/

我将表格行添加到 JS 函数中,并让它添加到表格中而不是替换值。

var rowN = 0; //set counter for row IDs
document.getElementById("file1").onchange = function() {
    document.getElementById("uploadTable").style.visibility="visible";
    var file = this.files[0];
    var table = document.getElementById("uploadTable"); //set the table as a var
    var row = '<tr><td><input type="text" name="sno" id="sno' + rowN + '"/></td><td><input type="text" name="fileName" id="fileName' + rowN + '" value="' + file.name + '"/></td><td><input type="text" name="fileSize" value="' + file.size + '" id="fileSize' + rowN + '"/></td><td width="100%"><a href="">delete</a></td></tr>'; //add row as variable
    //document.getElementById("uploadTable").value = file.size + " bytes"; //don't need this
    //document.getElementById("fileName").value = file.name; //or this
    table.innerHTML = table.innerHTML + row;  //append row
    rowN++; //add count to row
};

【讨论】:

  • 它在 IE 中不工作。但它在 chrome 中工作正常。
  • 恐怕我无法在 IE 中进行故障排除。也许其他人可以提供帮助。
  • 尽管这个link 可能会对问题有所了解。
  • 好的。如果有人有解决方案,请提出建议。谢谢。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多