使用DOM方法实现多附件上传客户端
2012-02-29 19:45
253 查看
有时候需要传多个附件,再次我用javascript的dom方式实现了次功能,很实用的。
功能呢就是用户可以添加多个附件,每次点击 添加 添加一个新的上传文本域,对于已经添加的上传文本域,用户可以 点击“删除” 删除一个上传文本域
程序思路我就不在这废话了,下边给大家在程序中添上了很详细的伪代码。
<!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" />
<title>使用DOM方法实现多附件上传客户端</title>
<script language="javascript" type="text/javascript">
function addFile(){
//创建tr标签
var tr1=document.createElement("tr");
//创建td标签
var td1=document.createElement("td");
//创建input标签
var input1=document.createElement("input");
//给input加上type=file属性
input1.setAttribute("type","file");
//给input加上value=“浏览”属性
input1.setAttribute("value","浏览");
//将创建的第一个td追加到tr1
td1.appendChild(input1);
tr1.appendChild(td1);
//再次创建一个td
var td1=document.createElement("td");
//创建input标签
var input1=document.createElement("input");
//给input加上type=“button” 和value=“删除”属性
input1.setAttribute("type","button");
input1.setAttribute("value","删除");
//给input添加上nclick事件,将this传过去,也就是标签对象input,到时候执行那个input就将那个input对象传过去
input1.setAttribute("onclick","delFile(this)");
//将input追加给td
td1.appendChild(input1);
//再讲td追加给tr1
tr1.appendChild(td1);
//最后将tr1追加给table
document.getElementById("id2").appendChild(tr1);
}
function delFile(this1){
//this1接受onclik事件传过来的值,也就是被执行的那个input对象
//我们要删除的是tr标签,所以经过input标签找到input的父标记td
//再经过td找到td的父标记tr,在找到tr的父标记table,根据关系就是input的大爷table~
var p=this1.parentNode;
var p2=p.parentNode;
var p3=p2.parentNode;
//删除执行删除标签所属的tr标签,保存删除标签的结果
var element=p3.removeChild(p2);
}
</script>
</head>
<body>
<div id="id1">
<table id="id2">
<tr>
<td><input type="file" value="浏览"></td>
<td><input type="button" value="添加" onclick="addFile()"></td>
</tr>
</table>
</div>
</body>
</html>
功能呢就是用户可以添加多个附件,每次点击 添加 添加一个新的上传文本域,对于已经添加的上传文本域,用户可以 点击“删除” 删除一个上传文本域
程序思路我就不在这废话了,下边给大家在程序中添上了很详细的伪代码。
<!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" />
<title>使用DOM方法实现多附件上传客户端</title>
<script language="javascript" type="text/javascript">
function addFile(){
//创建tr标签
var tr1=document.createElement("tr");
//创建td标签
var td1=document.createElement("td");
//创建input标签
var input1=document.createElement("input");
//给input加上type=file属性
input1.setAttribute("type","file");
//给input加上value=“浏览”属性
input1.setAttribute("value","浏览");
//将创建的第一个td追加到tr1
td1.appendChild(input1);
tr1.appendChild(td1);
//再次创建一个td
var td1=document.createElement("td");
//创建input标签
var input1=document.createElement("input");
//给input加上type=“button” 和value=“删除”属性
input1.setAttribute("type","button");
input1.setAttribute("value","删除");
//给input添加上nclick事件,将this传过去,也就是标签对象input,到时候执行那个input就将那个input对象传过去
input1.setAttribute("onclick","delFile(this)");
//将input追加给td
td1.appendChild(input1);
//再讲td追加给tr1
tr1.appendChild(td1);
//最后将tr1追加给table
document.getElementById("id2").appendChild(tr1);
}
function delFile(this1){
//this1接受onclik事件传过来的值,也就是被执行的那个input对象
//我们要删除的是tr标签,所以经过input标签找到input的父标记td
//再经过td找到td的父标记tr,在找到tr的父标记table,根据关系就是input的大爷table~
var p=this1.parentNode;
var p2=p.parentNode;
var p3=p2.parentNode;
//删除执行删除标签所属的tr标签,保存删除标签的结果
var element=p3.removeChild(p2);
}
</script>
</head>
<body>
<div id="id1">
<table id="id2">
<tr>
<td><input type="file" value="浏览"></td>
<td><input type="button" value="添加" onclick="addFile()"></td>
</tr>
</table>
</div>
</body>
</html>
相关文章推荐
- 使用DOM方法实现多附件上传客户端
- 使用DOM动态创建js实现多附件上传客户端
- 使用TCP协议实现一个可以上传文件的客户端源代码(附详细注释)
- 使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能
- 使用asp实现文件上传的各种方法
- yii使用activeFileField控件实现上传文件与图片的方法
- 使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
- Android-使用TCP/IP协议实现断点上传(客户端-服务端代码)(+0)
- 使用Plupload实现直接上传附件至七牛云存储
- java web使用ajaxSubmit方法实现Excel文件上传
- yii实现使用CUploadedFile上传文件的方法
- 使用AjaxPro.Net框架实现在客户端调用服务端的方法
- HTML使用FileReader对象的readAsDataURL()方法实现图片的上传预览效果
- ASP.NET上传下载文件,使用TransmitFile方法实现下载。
- Python使用ftplib实现简易FTP客户端的方法
- Python使用ftplib实现简易FTP客户端的方法
- Django+Jquery+Bootstrap Modal+Iframe使用异步机制上传文件实现方法
- 使用php+apc实现上传进度条且在IE7下不显示的问题解决方法
- 【使用JSOUP实现网络爬虫】使用DOM方法来遍历一个文档
- CaptainGan------使用递归方法实现,向FTP服务器上传整个目录结构、从FTP服务器下载整个目录到本地的功能