批量上传文件时,js验证文件名不能相同

View Code
$("[type='submit']").click(function () {
alert(CompareVal(GetVal()));
});

function GetVal() {//将所有文件上传文本框的文件名添加到数组
var arrVal = new Array();
for (var i = 1; i < 11; i++) {
var temp = $("[name='FileUpload" + i + "']").val();//获取文本框内的文件路径的字符串
if (temp != "") {
var ind = temp.lastIndexOf('\\');//获取字符串中最后一个"\"的序号
temp=temp.substring(ind+1, temp.length);//截取文件名
arrVal.push(temp);
}
}
return arrVal;
}


/*
如果有相同文件名则返回false
参数是文件名称的数组
循环比对文件名称
*/
function CompareVal(fnList) {
var flag = true;
for (var i = 0; i < fnList.length; i++) {
for (var j = i+1 ; j < fnList.length; j++) {
if (fnList[i] == fnList[j]) {
flag = false;
alert("第" + (i + 1) + "个上传文件与第" + (j + 1) + "个上传文件的名称相同,请修改其中一个文件名后上传!");
return flag;
}
}
}
return flag;
}

html代码:

View Code
   <form action="/ElectronicMain/Edit" enctype="multipart/form-data" method="post">
<div>
<table class="edit">
<tr>
<td class="t ">
文档类型<span class="asterisk"></span>
</td>
<td colspan="3">
<select class="combobox" id="DocumentGenre" name="ElectronicMainModel.DocumentGenre"><option value="">请选择</option>
<option selected="selected" value="CIQ">CIQ/卫生证书</option>
<option value="QS">QS/质检报告</option>
<option value="DO">送货单据</option>
</select>
</td>
</tr>


<tbody id="CIQ">
<tr>
<td class="t ">
CIQ号<span class="asterisk"></span>
</td>
<td>
<input id="CIQNo" maxlength="50" name="ElectronicMainModel.CIQNo" type="text" value="" />
</td>
<td class="t">
品牌
</td>
<td>
<input id="Brand" maxlength="100" name="ElectronicMainModel.Brand" type="text" value="" />
</td>
</tr>
<tr>
<td class="t ">
产品
</td>
<td>
<input id="Product" maxlength="50" name="ElectronicMainModel.Product" type="text" value="" />
</td>
<td class="t">
生产日期
</td>
<td>
<input autocomplete="off" class="calendar" id="ProductDate" name="ElectronicMainModel.ProductDate" options="{}" type="text" value="" />
</td>
</tr>
</tbody>

<tr>
<td class="t ">
上传文件1
</td>
<td>
<input name="FileUpload1" type="file" />
</td>
<td class="t ">
上传文件2
</td>
<td>
<input name="FileUpload2" type="file" />
</td>
</tr>
<tr>
<td class="t ">
上传文件3
</td>
<td>
<input name="FileUpload3" type="file" />
</td>
<td class="t ">
上传文件4
</td>
<td>
<input name="FileUpload4" type="file" />
</td>
</tr>
<tr>
<td class="t ">
上传文件5
</td>
<td>
<input name="FileUpload5" type="file" />
</td>
<td class="t ">
上传文件6
</td>
<td>
<input name="FileUpload6" type="file" />
</td>
</tr>
<tr>
<td class="t ">
上传文件7
</td>
<td>
<input name="FileUpload7" type="file" />
</td>
<td class="t ">
上传文件8
</td>
<td>
<input name="FileUpload8" type="file" />
</td>
</tr>
<tr>
<td class="t ">
上传文件9
</td>
<td>
<input name="FileUpload9" type="file" />
</td>
<td class="t ">
上传文件10
</td>
<td>
<input id="File10" name="FileUpload10" type="file" />
</td>
</tr>
</table>
</div>
<div class="edit_btn">
<input type="submit" url="/ElectronicMain" value="提交" />
&nbsp;
<input id="btnreturn" name="btnreturn" type="button" url="/ElectronicMain" value="返回" />
</div>
</form>



原文地址:https://www.cnblogs.com/samsonhuang/p/2383596.html