Я использую диспетчер загрузки файла asp. Я не хотел показывать пользователю уродливый элемент управления asp.net, поэтому использовал некоторый style="width: 0px; height: 0px; overflow: hidden;"
чтобы он был скрыт.
Вот мой html-код
<a id="a">Browse</a>
<div style="width: 0px; height: 0px; overflow: hidden;">
<asp:FileUpload ID="file" runat="server" />
</div>
<asp:Button ID="btn" runat="server" OnClick="btn_Click" />
И я моя функция jQuery, которую я написал
$(function(){
$('#a').click(function(){
$('#file').click();
});
});
Но этот код не делает обратной передачи в ie. Я тестирую, т.е. 9. Хотя он отлично работает в Chrome и Firefox.
Может ли кто-нибудь сказать мне, что не так с моим кодом. Или еще работа для этого.
Просмотрели ли вы инструменты IE Developer, чтобы увидеть, есть ли в IE ошибки javascript? Возможно, он не может найти элемент управления с ID файлом, поскольку он является серверным элементом управления, а идентификатор генерируется динамически при визуализации страницы.
Используйте это, чтобы выбрать серверный элемент управления.
$("#<%= file.ClientID %>").click()
Или вы можете использовать селектор jquery.
$("[id$='file']")