我有个网页想通过点击一个按钮(Button)来触发HTML文件上传控件(INPUT(type=File))让客户选择文件而不是直接点击文件上传控件来获取文件,请问该如何实现啊?
客户选择文件而不是直接点击文件上传控件来获取文件?不明白?
紅色標記處必須的。選擇文件後直接提交,你可以擴展一下,用iframe來實現無刷新的。
<!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 runat="server">
<title>未命名頁面</title>
<script language="javascript" type="text/javascript">
// <!CDATA[
function btn_onclick()
{
var keyID=Math.round(Math.random()*100000)+"FILE";
var text=document.createElement("input");
text.setAttribute("name",keyID);
text.setAttribute("id",keyID);
text.type="file";
text.setAttribute("onpropertychange","UploadFile()");
document.forms["form1"].appendChild(text);
}
function UploadFile()
{
document.forms["form1"].submit();
}
// ]]>
</script>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/form-data">
<div>
<input type="button" id="btn" name="btn" value="創建" onclick="return btn_onclick()" />
</div>
</form>
</body>
</html>
用户选择文件时,做一个Ajax请求,直接上传选定的文件。类似的看163或Hotmail邮件附件处理
如果技术仅限于HTML+JS的话,恐怕没有什么好方法,一些浏览器因为安全因素直接就给你禁掉了
最好还是用flash等做上传,美观又可定制
遇到同样的问题,前台JS:function OpenTxtFile() { var objFile = document.getElementById("File1");//File1就是那个文件上传控件 objFile.click(); }