Итак, у меня есть веб-страница .aspx:
..
<form id="frm" runat="server">
<asp:FileUpload runat="server" id="fileupload" onchange="browsed()" />
<asp:Button runat="server" OnClick="Upload_Click" id="uploadbutton" class="uploadbutton" Text="start upload" Enabled="false" />
<div id="nfo" style="display: none">
blabla
</div>
</form>
..
Теперь, как вы можете догадаться, пользователь выбирает файл для загрузки, нажимает #uploadbutton
и, вуаля, Upload_Click
вызывается после обратной передачи.
Затем я хочу показать div #nfo
с некоторыми эффектами jQuery во время загрузки. Для этого пишу:
$(function() {
$('.uploadbutton').click(function() {
$('#nfo').slideDown().show("fast");
})
})
и все работает отлично, пока пользователь не начнет просматривать в IE ...
Прежде всего, в IE пользователь должен нажать #uploadbutton
дважды - первый раз, чтобы отобразить #nfo
, второй раз, по какой-то причине, чтобы инициировать обратную передачу.
Во-вторых, после обратной передачи Upload_Click
s this.fileupload.HasFile
показывает false.
FF и Chrome работают довольно хорошо.
Насколько я понимаю, в IE функция jQuery предотвращает что-то важное для asp:FileUpload
и останавливает обратную передачу. Хотя при втором щелчке он инициирует обратную передачу, но все еще без информации для asp:FileUpload
Upload_Click
.
Любая помощь?
Обновление:
последовал совету @ joelt'd. Оказалось, была какая-то другая проблема, никогда не думал, что это может быть важно, поэтому я не предоставил исходный код для этой части = (
см. локализация . IE проблема