清空file类型的值的简单问题 var obj = document.getElementById("upfile"); obj.outerHTML = obj.outerHTML; 其中upfile是我定义的file类型的控件,确实可以实现清空,不过我不大明白obj.outerHTML = obj.outerHTML; 是如何实现清空的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 obj.select();obj.selection.clear() 已试过楼主的方法不行的哦<!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=gb2312" /><title>无标题文档</title><script language="javascript"> function a(){ var obj = document.getElementById("upfile"); obj.outerHTML = obj.outerHTML; }</script></head><body><h1 style="font-size:9px">1121</h1><form id="form1" name="form1" enctype="multipart/form-data" method="post" action=""> <label> <input type="file" name="file" /> </label> <label> <input type="button" name="Submit" value="提交" onclick="a();" /> </label></form></body></html> outerHTML中不包含你运行时为file添加的值不过我觉得这样<input type="file" onchange="checkExt(this)"/><script type="text/javascript"> var checkExt=function(file) { if(!(/(?:jpg|gif)$/i.test(file.value))) { alert("只允许上传jpg和gif的图片"); if(window.ActiveXObject) {//for IE file.select();//select the file ,and clear selection document.selection.clear(); } else if(window.opera) {//for opera file.type="text";file.type="file"; } else file.value="";//for FF,Chrome,Safari } else { alert("ok");//or you can do nothing here. }};</script> 我这边outerHTML包含了选中的value值了. 你把outerHTML的值输出就知道,并没有你添加的value这个属性 oh,明白 了,input file的value属性不可写,使用outerHTML赋值时 value属性丢失了 那照你这么说,我只要给outerHTML赋值就相当于给它清空了? function ResetFile(file){ file.value = "";//ff chrome safari if ( file.value ) { if ( $$B.ie ) {//ie with(file.parentNode.insertBefore(document.createElement('form'), file)){ appendChild(file); reset(); removeNode(false); } } else {//opera file.type = "text"; file.type = "file"; } }}详细参考这里的file的reset 这 我不是让你们给我新的清空file的值的方法,我只想知道我这方法var obj = document.getElementById("upfile"); obj.outerHTML = obj.outerHTML; 为什么能清空file的值,我试过是可以的 outerHTML不是清空file而是重新写一个file而有一file的value是不可写的所以默认空值了 弹出层参数设置 回车使表格新增一行,各位请先看一下我的jsp代码,和简单的新增行有所不同 JAVASCRIPT正则表达式太奇怪了 批量添加关键字var 连续出现内容的功能,在线等 怎样动态改变该表格里某列的宽度 JAVASCRIPT和SSL 如何使当前html页面最大化,我的意思是html页面的地址栏、状态栏、菜单栏全都没有的那种。 有关屏蔽ie浏览器右上角的那个关闭按钮的方法 一个画饼图的程序 求助Flot或Flotr图表如何设置才能画出弧线图? 用JS如何修改ASP.NET创建的Cookies
obj.selection.clear()
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script language="javascript">
function a()
{
var obj = document.getElementById("upfile");
obj.outerHTML = obj.outerHTML;
}
</script>
</head><body>
<h1 style="font-size:9px">1121</h1>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="">
<label>
<input type="file" name="file" />
</label>
<label>
<input type="button" name="Submit" value="提交" onclick="a();" />
</label>
</form>
</body>
</html>
不过我觉得这样<input type="file" onchange="checkExt(this)"/><script type="text/javascript">
var checkExt=function(file) {
if(!(/(?:jpg|gif)$/i.test(file.value))) {
alert("只允许上传jpg和gif的图片");
if(window.ActiveXObject) {//for IE
file.select();//select the file ,and clear selection
document.selection.clear();
} else if(window.opera) {//for opera
file.type="text";file.type="file";
} else file.value="";//for FF,Chrome,Safari
} else {
alert("ok");//or you can do nothing here.
}
};
</script>
file.value = "";//ff chrome safari
if ( file.value ) {
if ( $$B.ie ) {//ie
with(file.parentNode.insertBefore(document.createElement('form'), file)){
appendChild(file); reset(); removeNode(false);
}
} else {//opera
file.type = "text"; file.type = "file";
}
}
}
详细参考这里的file的reset
var obj = document.getElementById("upfile");
obj.outerHTML = obj.outerHTML;
为什么能清空file的值,我试过是可以的
而有一file的value是不可写的所以默认空值了