HTML标准里面不包含这个功能,也不知道有什么浏览器支持这个功能。
解决方案 »
- 请教,以下JavaScript代码(用户名校验),运行怎么没效果
- 求个JS 防止游览器上的按钮刷新网页
- 高手在吗? 问个window.open 在 IE7下的 新问题
- firefox下的event的问题
- 求高人教我一句代码,就一句src="{lib file=jquery.js}"是怎么解析的
- 知道行tr的名称,怎么样删除这行?
- 怎样清空iFRAME中的内容?
- 取不到include进的页面的值,请教诸位
- document.all(a).t1没有对象的问题!?
- script里是看不懂的乱码,该如何解决?
- 实现像163那样的鼠标延迟感应特性,请教不用层,用table能怎么实现,js高手来拿分吧?
- 脚本错误,缺少对象
a.initEvent("click", true, true);
obj.dispatchEvent(a);
var ie=navigator.appName=="Microsoft Internet Explorer" ? true : false;
if(ie){document.getElementById('a1').click()}//IE的处理
else{var a=document.createEvent("MouseEvents");//FF的处理
a.initEvent("click", true, true);
document.getElementById('a1').dispatchEvent(a);
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js模拟点击“浏览”按钮</title>
</head><body>
<div>
<form id="form1" name="form1" enctype="multipart/form-data" method="post" action="1.php">
<input type="file" id="file"name="file" />
<input type="button" name="button" value="点我就像点击“浏览”按钮一样" onclick="javascript:clickBrowse();" />
</form>
</body>
<script type="text/javascript">
function clickBrowse(){
var ie=navigator.appName=="Microsoft Internet Explorer" ? true : false;
if(ie){
document.getElementById("file").click();
}else{//请帮我补足这段代码
//var a=document.createEvent("MouseEvents");//FF的处理
//a.initEvent("click", true, true);
//document.getElementById("file").dispatchEvent(a);
}
}
</script>
</html>
所以别那么做~~~可以仿效gmail那个做法~~
<!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>仿126网络硬盘上传 by littlelam</title>
</head>
<script>
var TotalFiles = 0;
function AddFiles()
{
TotalFiles ++;
var file=document.createElement("input");
file.type = "file";
file.id = "f"+ TotalFiles.toString();
file.name = "files"+ TotalFiles.toString();
file.hideFocus = true;
file.style.cssText = "cursor:pointer; width:1px; border:none; height:32px; padding:0px; margin:0px;position:absolute; opacity:0;filter:alpha(opacity=0);font-size:20px;";
file.onchange = function ()
{
$("s"+TotalFiles.toString()).innerHTML = $("f"+TotalFiles.toString()).value.substring($("f"+TotalFiles.toString()).value.lastIndexOf("\\")+1,$("f"+TotalFiles.toString()).value.length) + " <span onclick=\"DelFile('"+TotalFiles.toString()+"')\" style=\"cursor:pointer;color:red\">X</span>";
this.style.display = "none";
AddFiles();
};
$("UpFilePanelHidden").appendChild(file);
var div=document.createElement("div");
div.id = "s"+ TotalFiles.toString();
$("UpFilePanelShow").appendChild(div);}
function $(str)
{
return document.getElementById(str);
}
function DelFile(str)
{
$("UpFilePanelHidden").removeChild($("f"+str));
$("UpFilePanelShow").removeChild($("s"+str));
}
function DelEmpty()
{
for (var i=1;i<=TotalFiles;i++)
{
if ($("f"+i.toString()))
{
if ($("f"+i.toString()).value == "")
$("UpFilePanelHidden").removeChild($("f"+i.toString()));
}
}
}
</script>
<body>
<FORM METHOD="post" NAME="form1" ACTION="savetofile.asp" ENCTYPE="multipart/form-data" onsubmit="DelEmpty();return true;">
<div style="width:100px; height:30px;background-image:url(http://mimg.163.com/netfolder/images/all_toolbar.gif);background-position:2px -64px; margin:6px 4px; border:1px solid #bebebe; cursor:pointer; "><a id="UpFilePanelHidden" href="javascript:void(0);" ></a></div>
<div id="UpFilePanelShow"></div><script>AddFiles();</script>
<br />
<input type="submit" name="Submit" value="提交" />
</form>
</body>
</html>
如果是纯粹的click事件是没用,IE基于安全性,在onsubmit的时候会自动清空文件域的value如能像126那样用css来控制
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>仿126网络硬盘上传 by littlelam</title>
</head>
<script>
var TotalFiles = 0;
function AddFiles()
{
TotalFiles ++;
var file=document.createElement("input");
file.type = "file";
file.id = "f"+ TotalFiles.toString();
file.name = "files"+ TotalFiles.toString();
file.hideFocus = true;
file.size = 1;
file.style.cssText = "cursor:pointer; width:1px; border:none; height:32px; padding:0px; margin:0px;position:absolute; opacity:0;filter:alpha(opacity=0);left:-32px !important;left:-5px;left/**/:-3px; font-size:20px;";
file.onchange = function ()
{
$("s"+TotalFiles.toString()).innerHTML = $("f"+TotalFiles.toString()).value.substring($("f"+TotalFiles.toString()).value.lastIndexOf("\\")+1,$("f"+TotalFiles.toString()).value.length) + " <span onclick=\"DelFile('"+TotalFiles.toString()+"')\" style=\"cursor:pointer;color:red\">X</span>";
this.style.display = "none";
AddFiles();
};
$("UpFilePanelHidden").appendChild(file);
var div=document.createElement("div");
div.id = "s"+ TotalFiles.toString();
$("UpFilePanelShow").appendChild(div);}
function $(str)
{
return document.getElementById(str);
}
function DelFile(str)
{
$("UpFilePanelHidden").removeChild($("f"+str));
$("UpFilePanelShow").removeChild($("s"+str));
}
function DelEmpty()
{
for (var i=1;i<=TotalFiles;i++)
{
if ($("f"+i.toString()))
{
if ($("f"+i.toString()).value == "")
$("UpFilePanelHidden").removeChild($("f"+i.toString()));
}
}
}
</script>
<body>
<FORM METHOD="post" NAME="form1" ACTION="savetofile.asp" ENCTYPE="multipart/form-data" onsubmit="DelEmpty();return true;">
<div style="width:100px; height:30px;background-image:url(http://mimg.163.com/netfolder/images/all_toolbar.gif);background-position:2px -64px; margin:6px 4px; border:1px solid #bebebe; cursor:pointer; "><a id="UpFilePanelHidden" href="javascript:void(0);" ></a></div>
<div id="UpFilePanelShow"></div><script>AddFiles();</script>
<br />
<input type="submit" name="Submit" value="提交" />
</form>
</body>
</html>