Мои тестировщики обнаружили, что если вы вводите свободный текст в поле загрузки файла, то ни одна из кнопок на странице не будет работать, пока этот текст не будет удален (поэтому страница не может быть отправлена).
Я могу скопировать это с помощью следующего кода 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>
(Обратите внимание, что я не привязывал никаких обработчиков к странице; несмотря на это, страница отправляется при нажатии кнопки отправки, только если в текстовое поле загрузки не было введено никакого текста)
Есть ли способ запретить пользователям вводить произвольный текст в элемент управления загрузкой файлов? Похоже, это возможно только в IE - Firefox и Chrome изначально предотвращают ввод текста в поля ввода загрузки.
В других местах я видел решения, которые предлагают скрыть ввод и заменить его на комбинацию метка / кнопка, но похоже, что это может вызвать больше проблем и работать некорректно во всех браузерах.
Есть мысли?