Я работаю над страницей, которая позволит пользователю загружать фотографию с HTML-вводом:
<input id="fileUpload" runat="server" type="file" style="visibility:hidden;" />
У меня есть hidden
, потому что я хочу создать свой собственный элемент управления загрузкойиспользуя <img>
для кнопки Обзор и используя Jquery для запуска события click элемента управления fileUpload:
<img id="btnBrowse" alt="Choose an photo to upload..." src="images/browse.gif" />
JS:
$("#btnBrowse").click(function () {
$('input[type=file]').click();
});
Я использую <ASP:ImageButton>
длякнопка Upload и <ASP:TextBox>
для хранения текста выбранного файла.
Если я удаляю style="visibility:hidden;"
, все работает нормально.Но при этом, когда я нажимаю «Загрузить», файл элемента управления загрузкой файлов теряется, и страница не будет публиковаться, пока я не нажму «Загрузить» второй раз.
Я знаю, что это своего рода "взлом", но я не хочу использовать элемент управления <ASP:FileUpload>
, потому что его нельзя настроить, и я не хочу беспокоиться о плагине Jquery, еслиЯ могу выполнить то, что мне нужно, без него.
Кто-нибудь испытал это или есть какие-либо идеи, как я мог бы выполнить эту работу, сохраняя style="visibility:hidden;"
на месте?
Большое спасибо заранее!
РЕДАКТИРОВАТЬ:
Это на самом деле больше связано с моей пользовательской кнопкой "Обзор".Я использовал <img>
, как отмечалось, и я пытался использовать <ASP:ImageButton>
, но получил те же результаты.Каждый раз, когда я нажимаю свою пользовательскую кнопку «Обзор» (которая вызывает JS, чтобы нажать input type=file
), после выбора файла моей кнопке «Загрузка» потребуется два щелчка (и первый щелчок стирает путь к файлу ввода (как он пытается опубликовать).назад)?
Есть мысли по этому поводу?