创建动态添加上传文件页面

发邮件是需要添加一些文件,每添加一个文件,页面上可以显示一个表单文件上传选项。

功能为:初始时刻只有一个添加按钮,当点击添加文件时,会增加一个选择文件和删除区域,同时显示上传按钮,当点击删除,此行选择文件行消失,当所有选择文件项都消失时,上传按钮将被隐藏起来。下面是实例代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>动态添加文件上传列表</title>
    <script type="text/javascript">
    	var num=0;
    	function addFile(event){
    		//创建一个div标签,用以包含一个input标签和删除按钮
    		var innerdiv = document.createElement("div");
    		
    		//创建一个input标签
    		var inputNode = document.createElement("input");
    		inputNode.name = "fileName";
    		inputNode.type="file";
    		
    		//创建一个删除按钮
    		var delNode = document.createElement("input");
    		delNode.name = "del";
    		delNode.type = "button";
    		delNode.value="删除";
    		
    		var submit = document.getElementById("submit");
    		
    		//删除当前删除按钮所在的标签,为此按钮点击事件创建一个处理函数
    		delNode.onclick = function d(){
    			this.parentNode.parentNode.removeChild(this.parentNode); //删除此div区域
    			var fileNodes = document.getElementsByName("fileName");
    			//当没有上传文件时,隐藏submit按钮
    			if(fileNodes.length==0){
    				submit.style.display="none";
    			}
    		};
    		
    		innerdiv.appendChild(inputNode);
    		innerdiv.appendChild(delNode);
    		
    		var div = document.getElementById("file");
    		div.appendChild(innerdiv);
    		
    		submit.style.display="block";
    		
    	}
    </script>

  </head>
  
  <body>
    <form id="upload" action="${pageContext.request.contextPath }/servlet/FileUploadServlet" enctype="multipart/form-data" method="post">
    	上传文件:<input type="button" value="添加文件" οnclick="addFile(this.parentNode)"/> <br />
    	<table>
    		<div id="file">
    			
    		</div>
    	</table>
    	<input id="submit" type="submit" value="上传" style="display: none"/>
    </form>
  </body>
</html>

	此实例代码中,addFile将动态增加一个div区域,div区域包含一个file input标签和删除按钮。

动态创建一个input标签示例:

//创建一个div标签,用以包含一个input标签和删除按钮
    		var innerdiv = document.createElement("div");
    		
    		//创建一个input标签
    		var inputNode = document.createElement("input");
    		inputNode.name = "fileName";
    		inputNode.type="file";
                innerdiv.appendChild(inputNode);


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值