浏览器兼容多文件上传控件

index.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="css/fileUpload.css">
<title>浏览器兼容多文件上传控件</title>
</head>

<body>
<br>
<form class="fileBox" action="" method="post" enctype="multipart/form-data">
  <input type="button" name="add" class="btn add" value="新增"  />
  <br>
  <div class="inputGroup-contener">
      <div class="inputGroup">
      <br>
      <!--自定义按钮,点击触发原生控件-->
      <input type="text" name="textField" class="textField"/>
      <input type="button" class="btn viewBtn fieldBtn" value="浏览" />
      <!--原生按钮控件,透明化覆盖在自定义按钮上方-->
      <input type="file" name="fileField" class="fileField" limitType="*.png">
      <input type="button" name="clean" class="btn cleanBtn" value="x" />
     
      <br>
      </div> 
   </div>
</form>
</body>
<script src="js/jquery.js"></script>
<script src="js/fileUpload.js"></script>
</html>
 
fileUpload.css

@charset "utf-8";
/* CSS Document */
.fileBox {
  display:block;
  width:250px;
}
.inputGroup{
  position:relative;
  height:20px;
  margin-top:4px;
}
.fileBox .textField{ 
  position:absolute;
  top:0px;
  left:0px;
  height:16px;
  width:163px;
  border:1px solid #cdcdcd;
}
.viewBtn {
  position:absolute;
  top:0px;
  left:165px;
}
.cleanBtn {
  position:absolute;
  width:20px!important;
  top:0px;
  left:145px;
  display: none;
border:1px solid #cdcdcd!important;
  color:#999;
}
.removeBtn {
  position:absolute;
  top:0px;
  left:207px;
}
.fileBox .btn{
  background-color:#ebedf2;
  border:1px solid #929292;
  height:20px; 
  width:40px;
  line-height:20px;
  cursor: pointer;
}
.fileBox .btn:hover,.fileBox .btnHover
{ background-color:#d8e8fa; border:1px solid #8cb2e2;}
.fileBox .fileField { 
  position:absolute;
  top:0;
  left:0;
  height:22px;
  width:207px;
  filter:alapha(opicity:0); /*原生控件透明*/
  opacity:0;
  cursor:pointer;
}

fileUpload.js

/*新增上传控件*/
$(".add").click(function(){
	var fileUpLoadCode = '<div class="inputGroup"><br><input type="text" name="textField" class="textField" /><input type="button" class="btn viewBtn fieldBtn" value="浏览" /><input type="file" name="fileField" class="fileField" limiType="*.png"><input type="button" name="clean" class="btn cleanBtn" value="x" /><input type="button" name="remove" class="btn removeBtn" value="删除" /><br></div> ';
	$(".inputGroup-contener").append(fileUpLoadCode);
});
/*清空原生控件值和自定义控件值*/
$(".cleanBtn").live("click",function(e){
	var file= $(this).parent().find(".fileField");
	file.after(file.clone().val(""));
	file.remove();
	$(this).parent().find(".textField").val("");
	$(this).hide();
  });
 /*删除新增的上传控件*/
$(".removeBtn").live("click",function(e){
	var group= $(this).parent();
	group.remove();
  });
/*清空原生控件值和自定义控件值*/
$(".fileField").live("mouseover",function(e){$(this).parent().find(".fieldBtn").addClass("btnHover");});
$(".fileField").live("mouseout",function(e){$(this).parent().find(".fieldBtn").removeClass("btnHover");});
/*将原生控件值传给自定义输入框*/
$(".fileField").live("change",function(e){
    var val=$(this).parent().find(".fileField").val();
    $(this).parent().find(".textField").attr("value",val);
	$(this).parent().find(".cleanBtn").show();
  });
ps.浏览器兼容样式参考网上教程。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值