多文件上传js出现问题[FF行,IE不行]
时间:2010-06-01
来源:互联网
复制内容到剪贴板
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<form name="upload" id="upload" method="post" action="?act=right" style="margin-top:10px;" enctype="multipart/form-data">
<table border="0" cellspacing="1" class="fu_list">
<thead>
<tr>
<td><b>添加上传文件</b></td>
<td id="example"><!--<a href="javascript:void(0);" class="files" id="idFile" onchange="addFile(\'"+this.value+"\');"></a>--><input type="file" onchange="addFile(this.value);" id="idfile"></td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2"><table border="0" cellspacing="0">
<thead>
<tr>
<td>序号</td>
<td>文件路径</td>
<td width="100"></td>
</tr>
</thead>
<tbody id="idFileList">
</tbody>
</table></td>
</tr>
<tr>
<td colspan="2" style="color:gray">温馨提示:最多可同时上传共 <b>'.MaxUploadSize.'</b> 文件。 </td>
</tr>
<tr>
<td colspan="2" align="center" id="idMsg"><input type="submit" value="开始上传" id="idBtnUpload" disabled="disabled" />
<input type="button" value="全部取消" id="idBtnDel" disabled="disabled" /><input type="hidden" name="upfolder" value="'.$_dir.'">
</td>
</tr>
</tbody>
</table>
</form>
<script>
var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};
function addFile(_file){
var inputs = $("idFileList").getElementsByTagName("input");
if(inputs.length>1){
for(var i=0;i<inputs.length;i++){
if(_file == inputs[i].value){
alert("已经添加过此文件!");
return false;
}
}
}
var oldlen = $("idFileList").rows.length;
var _i = oldlen + 1;
var newtr = $("idFileList").insertRow(oldlen);
newtr.id = "id_"+_i;
var c0 = newtr.insertCell(0);
c0.innerHTML = _i;
var c1 = newtr.insertCell(1);
var _newfile = $("idfile").cloneNode(true);
_newfile.name = "upfile[]";
//_newfile.style = "display:none";
c1.appendChild(_newfile);
var c2 = newtr.insertCell(2);
c2.innerHTML="<a href=\'javascript:delThisFile(\""+newtr.id+"\");\'>删除</a>";
//alert(oldlen);
$("idBtnUpload").disabled=false;
$("idBtnDel").disabled=false;
}
function delThisFile(_file){
var _fileList = $("idFileList");
var _len = _fileList.rows.length;
var _j = 0;
for(var i=0;i<_len;i++){
if(_fileList.rows[i].id == _file){
_fileList.deleteRow(i);
}else{
/*_j = _j + 1;
var _newid = "id_"+_j;
_fileList.rows[i].id = _newid;
_fileList.rows[i].cells[0].innerHTML = _j;
_fileList.rows[i].cells[2].innerHTML = "<a href=\'javascript:delThisFile(\""+_newid+"\");\'>删除</a>";*/
}
}
var len = $("idFileList").rows.length;
alert(len);
for(var j=0;j<len;j++){
_j = j + 1;
var _newid = "id_"+_j;
_fileList.rows[j].id = _newid;
_fileList.rows[j].cells[0].innerHTML = _j;
_fileList.rows[j].cells[2].innerHTML = "<a href=\'javascript:delThisFile(\""+_newid+"\");\'>删除</a>";
}
}
</script>
已知问题:1。IE添加的时候什么都不显示,但FF正常。后台用IE也取不到值,FF正常。代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<form name="upload" id="upload" method="post" action="?act=right" style="margin-top:10px;" enctype="multipart/form-data">
<table border="0" cellspacing="1" class="fu_list">
<thead>
<tr>
<td><b>添加上传文件</b></td>
<td id="example"><!--<a href="javascript:void(0);" class="files" id="idFile" onchange="addFile(\'"+this.value+"\');"></a>--><input type="file" onchange="addFile(this.value);" id="idfile"></td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2"><table border="0" cellspacing="0">
<thead>
<tr>
<td>序号</td>
<td>文件路径</td>
<td width="100"></td>
</tr>
</thead>
<tbody id="idFileList">
</tbody>
</table></td>
</tr>
<tr>
<td colspan="2" style="color:gray">温馨提示:最多可同时上传共 <b>'.MaxUploadSize.'</b> 文件。 </td>
</tr>
<tr>
<td colspan="2" align="center" id="idMsg"><input type="submit" value="开始上传" id="idBtnUpload" disabled="disabled" />
<input type="button" value="全部取消" id="idBtnDel" disabled="disabled" /><input type="hidden" name="upfolder" value="'.$_dir.'">
</td>
</tr>
</tbody>
</table>
</form>
<script>
var $ = function (id) {
return "string" == typeof id ? document.getElementById(id) : id;
};
function addFile(_file){
var inputs = $("idFileList").getElementsByTagName("input");
if(inputs.length>1){
for(var i=0;i<inputs.length;i++){
if(_file == inputs[i].value){
alert("已经添加过此文件!");
return false;
}
}
}
var oldlen = $("idFileList").rows.length;
var _i = oldlen + 1;
var newtr = $("idFileList").insertRow(oldlen);
newtr.id = "id_"+_i;
var c0 = newtr.insertCell(0);
c0.innerHTML = _i;
var c1 = newtr.insertCell(1);
var _newfile = $("idfile").cloneNode(true);
_newfile.name = "upfile[]";
//_newfile.style = "display:none";
c1.appendChild(_newfile);
var c2 = newtr.insertCell(2);
c2.innerHTML="<a href=\'javascript:delThisFile(\""+newtr.id+"\");\'>删除</a>";
//alert(oldlen);
$("idBtnUpload").disabled=false;
$("idBtnDel").disabled=false;
}
function delThisFile(_file){
var _fileList = $("idFileList");
var _len = _fileList.rows.length;
var _j = 0;
for(var i=0;i<_len;i++){
if(_fileList.rows[i].id == _file){
_fileList.deleteRow(i);
}else{
/*_j = _j + 1;
var _newid = "id_"+_j;
_fileList.rows[i].id = _newid;
_fileList.rows[i].cells[0].innerHTML = _j;
_fileList.rows[i].cells[2].innerHTML = "<a href=\'javascript:delThisFile(\""+_newid+"\");\'>删除</a>";*/
}
}
var len = $("idFileList").rows.length;
alert(len);
for(var j=0;j<len;j++){
_j = j + 1;
var _newid = "id_"+_j;
_fileList.rows[j].id = _newid;
_fileList.rows[j].cells[0].innerHTML = _j;
_fileList.rows[j].cells[2].innerHTML = "<a href=\'javascript:delThisFile(\""+_newid+"\");\'>删除</a>";
}
}
</script>
2。删除有问题,我实在不会写。
希望高手能帮忙解决上述两点问题。
作者: bluewjzhhr 发布时间: 2010-06-01
前台的兄弟们,怎么没人过来留点意见呢?

作者: bluewjzhhr 发布时间: 2010-06-02
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28