Кнопка не делает пост обратно в IE 9

0

Я использую диспетчер загрузки файла 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.

Может ли кто-нибудь сказать мне, что не так с моим кодом. Или еще работа для этого.

  • 0
    попробуйте использовать ввод вместо управления сервером asp
  • 0
    вход имеет ту же проблему в IE
Показать ещё 1 комментарий

1 ответ

1

Просмотрели ли вы инструменты IE Developer, чтобы увидеть, есть ли в IE ошибки javascript? Возможно, он не может найти элемент управления с ID файлом, поскольку он является серверным элементом управления, а идентификатор генерируется динамически при визуализации страницы.

Используйте это, чтобы выбрать серверный элемент управления.

$("#<%= file.ClientID %>").click()

Или вы можете использовать селектор jquery.

$("[id$='file']")
  • 0
    Хорошо ... теперь это странно. Я пытался, как вы сказали. Теперь, что происходит. При первом щелчке ничего не происходит. Но если я нажимаю еще раз, он отправляет сообщение назад, но в имени файла элемента управления загрузкой файла не найдено
  • 0
    Я не совсем понимаю ваше требование. Когда страница должна вернуться назад? Ваш код выше работает для меня, и когда я нажимаю «а», он открывает диалоговое окно файла.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню