一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

如何用JS清空上传控件input(type=file)

时间:2010-07-03 编辑:简简单单 来源:一聚教程网

var obj=网页中的
obj.outerhtml = obj.outerhtml.replace(/(value=").+"/i, "$1"");

更经典的方法

需要清空的值,但上传控件的值不能通过网页特效来修改。

google找到这样一个解决方法:


   在上传控件中插入了值,就只能通过form的reset功能来清空了,但是form里面其他的值也被reset了。

   既然可以使用form的reset清空,那就有办法了:新建一个临时form,然后将需要清空的上传控件移入其中,reset之后,再移回原来所在位置,最后删除创建的临时form。网页特效代码:

 

网页特效代码
var upload = {   
clear: function(id){   
var up = (typeof id=="string")?document.getelementbyid(id):id;   
if (typeof up != "object") return null;   
var tt = document.createelement("span");   
tt.id = "__tt__";   
up.parentnode.insertbefore(tt,up);   
var tf = document.createelement("form");   
tf.appendchild(up);   
document.getelementsbytagname("body")[0].appendchild(tf);   
tf.reset();   
tt.parentnode.insertbefore(up,tt);   
tt.parentnode.removechild(tt);   
tt = null;   
tf.parentnode.removechild(tf);   
},   
  
clearform: function(){   
var inputs,frm;   
if (arguments.length == 0)   
{   
inputs = document.getelementsbytagname("input");   
}else{   
frm = (typeof arguments[0] == "string")?document.getelementbyid(arguments[0]):arguments[0];   
if (typeof frm != "object") return null;   
inputs = frm.getelementsbytagname("input");   
}   
  
var fs=[];   
for ( var i=0; i {   
if (inputs[i].type == "file") fs[fs.length] = inputs[i];   
}   
  
var tf = document.createelement("form");   
for ( var i=0; i {   
var tt = document.createelement("span");   
tt.id = "__tt__" + i;   
fs[i].parentnode.insertbefore(tt, fs[i]);   
tf.appendchild(fs[i]);   
}   
document.getelementsbytagname("body")[0].appendchild(tf);   
tf.reset();   
for ( var i=0; i {   
var tt = document.getelementbyid("__tt__" + i);   
tt.parentnode.insertbefore(fs[i],tt);   
tt.parentnode.removechild(tt);   
}   
tf.parentnode.removechild(tf);   
}   
}   

var upload = {  clear: function(id){  var up = (typeof id=="string")?document.getelementbyid(id):id;  if (typeof up != "object") return null;  var tt = document.createelement("span");  tt.id = "__tt__";  up.parentnode.insertbefore(tt,up);  var tf = document.createelement("form");  tf.appendchild(up);  document.getelementsbytagname("body")[0].appendchild(tf);  tf.reset();  tt.parentnode.insertbefore(up,tt);  tt.parentnode.removechild(tt);  tt = null;  tf.parentnode.removechild(tf);  },   clearform: function(){  var inputs,frm;  if (arguments.length == 0)  {  inputs = document.getelementsbytagname("input");  }else{  frm = (typeof arguments[0] == "string")?document.getelementbyid(arguments[0]):arguments[0];  if (typeof frm != "object") return null;  inputs = frm.getelementsbytagname("input");  }   var fs=[];  for ( var i=0; i

这个方法使用示例:


 

html代码
   
   
   
test   
   
   
  
   

   
   

   

   
   
   
   
 

热门栏目