阻止IE用户输入文件上传输入

Dex*_*ter 3 html asp.net file-upload

我的测试人员发现,如果您在文件上传输入中键入自由文本,那么在删除该文本之前,页面上的所有按钮都不起作用(因此无法提交页面).

我可以使用以下ASPX代码复制它(没有代码隐藏):

<%@ Page Language="C#" AutoEventWireup="true" %>
<!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">
  <body>
    <form id="form1" runat="server">
      <div>
        <asp:FileUpload ID="fuTest" runat="server" />
        <asp:Button ID="btnSubmit" runat="server" Text="Submit" />
      </div>
    </form>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

(请注意,我没有将任何处理程序绑定到页面;尽管如此,只有在上传文本框中没有输入文本时单击提交按钮才会提交页面)

有没有办法阻止用户在文件上传控件中输入自由文本?似乎这只能在IE中使用 - Firefox和Chrome本身阻止文本输入上传输入字段.

我已经看到其他地方的解决方案建议隐藏输入并用标签/按钮组合替换它,但这似乎可能会导致更多的问题,并在浏览器中不一致地工作.

有什么想法吗?

Dex*_*ter 5

根据@ Jer的建议,我能够通过处理keypress上传中的事件来阻止对文件上传的输入而不破坏任何其他功能.使用jQuery:

$(document).ready() {
    $('input:file').keypress(function() {
      return false;
    });
}
Run Code Online (Sandbox Code Playgroud)