手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JS清空上传控件input(type="file")的值的代码第1/2页
JS清空上传控件input(type="file")的值的代码第1/2页
摘要:google找到这样一个解决方法:在上传控件中插入了值,就只能通过form的reset功能来清空了,但是form里面其他的值也被reset了...

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

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

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

复制代码 代码如下:

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<inputs.length; i++ )

{

if (inputs[i].type == "file") fs[fs.length] = inputs[i];

}

var tf = document.createElement("form");

for ( var i=0; i<fs.length; 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<fs.length; i++)

{

var tt = document.getElementById("__tt__" + i);

tt.parentNode.insertBefore(fs[i],tt);

tt.parentNode.removeChild(tt);

}

tf.parentNode.removeChild(tf);

}

}

view plaincopy to clipboardprint?

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<inputs.length; i++ )

{

if (inputs[i].type == "file") fs[fs.length] = inputs[i];

}

var tf = document.createElement("form");

for ( var i=0; i<fs.length; 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<fs.length; i++)

{

var tt = document.getElementById("__tt__" + i);

tt.parentNode.insertBefore(fs[i],tt);

tt.parentNode.removeChild(tt);

}

tf.parentNode.removeChild(tf);

}

}

当前1/2页12下一页阅读全文

【JS清空上传控件input(type="file")的值的代码第1/2页】相关文章:

js控制网页前进和后退的方法

javascript中一些util方法汇总

JavaScript基于setTimeout实现计数的方法

获取阴历(农历)和当前日期的js代码

详解AngularJS中的表达式使用

Email地址加密javascript版

简介JavaScript中用于处理正切的Math.tan()方法

javascript无刷新评论实现方法

本窗口将在秒后自动关闭

js控制excel打印完美解决方案

精品推荐
分类导航