我在我的asp网站中使用上传功能。所以我正在使用文件输入类型。但是这个控件添加了一个默认的上传按钮浏览和一个文本框,在 Internet Explorer 中选择文件后显示路径。我不想显示浏览按钮等。所以我所做的是添加一个按钮“附加文件”,并且我已经编写了脚本'triggerFileUpload'函数,我让它点击上传控件。所以现在当我点击“附加文件”按钮时,会出现浏览文件窗口并可以选择要上传的文件。但是当我单击提交按钮时,文件上传控件会重置并且文件不会上传。错误是单击提交按钮时文件控件变为空。它只发生在 Internet Explorer 中。所以请帮我解决这个问题。下面是可以显示我在 IE 中面临的问题的代码。如果我也使用 asp:FileUpload 控件,也会出现同样的问题。(我的计划是隐藏文件控件并仅向用户显示附加文件按钮)。
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!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 type="text/javascript">
function triggerFileUpload() {
document.getElementById("FileUploaddd2").click();
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<input id="Button2" type="button" onclick="triggerFileUpload()" value="Attach a File" />
<input type="file" id="FileUploaddd2" runat="Server" />
<br />
<asp:Button ID="btnSubmit" runat="server" BorderColor="Black"
BorderStyle="Solid" BorderWidth="1px"
Text="Submit" />
</div>
</form>
</body>
</html>
在此处下载示例代码
更新
重现我面临的错误
1)运行我在下载链接中给出的项目
2) 在 Internet Explorer 中测试 - 任何版本
3)单击附加文件按钮(不在浏览时,它旨在使可见为假,此处仅用于示例目的)
4)浏览出现的窗口中的文件,然后单击确定
5)现在点击保存按钮。
当点击保存按钮时,btnsave_Click 函数应该触发,但它没有触发。如果我再次点击保存按钮 btnsave_Click 被触发。但是这次上传控件不会选择文件。你可以在提供的文本框中看到它浏览控件也(仅用于显示这一点,我将浏览控件设为可见)
那么现在质疑为什么第一次没有触发 btnsave_Click 呢?