0

在用户实际提交表单之前,我们可以使用任何方式/功能/脚本来检查文件详细信息(扩展名和大小)。我不熟悉 jquery 或 javascript,所以如果这是解决方案,请详细帮助我。

我希望当用户使用 onchange 命令选择文件时,将检查文件并返回“tick”图标以显示它已被接受,如果大小较大或他们使用其他扩展名,则返回错误消息。

这是表格..

<table width="809" cellpadding="2" cellspacing="2">
  <tr>
  <td width="252"><label for="file">Acceptance Letter from Publisher:</label></td>
  <td width="541"><input type="file" name="acceptletter" id="file" onchange="checkFile(this.value)"></td>
  </tr>
  <tr>
  <td width="252"><label for="file">Turnitin Similarity Report :</label></td>
  <td width="541"><input type="file" name="turnitin" id="file" onchange="checkFile(this.value)></td>
  </tr>
  <tr>
  <td width="252"><label for="file">Paper Indexing :</label></td>
  <td width="541"><input type="file" name="paperindex" id="file onchange="checkFile(this.value)"></td>
  </tr>
  <tr>
  <td width="252"><label for="file">Publisher's Reviewers Report :</label></td>
  <td width="541"><input type="file" name="reviwerReport" id="file"onchange="checkFile(this.value)"></td>
  </tr></table>`
4

3 回答 3

0

首先,您为所有 3 个元素提供了 Id文件。它应该是独一无二的。您可以按如下方式获取文件大小

var filesize = $("#file1").files[0]·size; //gives Size in bytes.
var filename = $("#file1").files[0]·name;   //say file name "abcd.xls"

var lastIndex = filename.lastIndexOf(".");    //index of . that is 4
var extension1 = filename.substring(lastIndex);   //will give ".xls"
var extension2 = filename.substring(lastIndex+1);   //will give "xls"

从文件名中,您可以通过子串最后一个索引来获取扩展名。

于 2013-09-12T03:36:13.733 回答
0

好的,首先对于“扩展名”,您所要做的就是获取文件名/路径,然后在“。”上进行拆分。字符。IE

var sFileName = document.getElementById('file').value;
var sFileExtension = sFileName.split('.')[sFileName.split('.').length - 1];
alert(sFileExtension);

要查找文件大小...

var iFileSize = document.getElementById('file').files[0].size;
alert(iFileSize);

最后,你不能有多个具有相同 'id' 属性的 dom 元素。您需要将除其中一个之外的所有 id="file" 更改为不同于“file.”的内容。此外,使用关键字作为唯一名称也不是好的编码习惯。将它们所有人的 id 更改为唯一的,而不是像“文件”这样的关键字。

于 2013-09-12T03:33:01.887 回答
0

返回文件名属性:

fileName = fileuploadObject.name ;

获取路径或名称:

fileuploadObject.value; //it's read only

获取文件名和扩展名:

var extension = fileName.split('.').pop();
var name = fileName.split('.')[0];

获取文件大小:

var fileSize = fileuploadObject.size); // in bytes
于 2013-09-12T03:41:20.127 回答