Я использую плагин jQuery ajaxForm для отправки формы загрузки файла через AJAX. Скрипт отправляет форму, которая в случае успеха запускает uploadResponse()
, которая добавляет новую строку в <table>
на странице. Он отлично работает в Opera, Firefox, Safari, IE7 и IE8.
Однако IE6 не запускает uploadResponse()
после отправки формы. Запускается запрос POST от сценария, и вы можете увидеть файл при обновлении страницы. Однако uploadResponse()
просто не запускается и DOM не обновляется.
Вот часть скрипта:
/**
* Ajaxified upload form
*/
$('form#upload').ajaxForm(
{
url: 'ajax/upload.php',
success: uploadResponse,
dataType: 'xml'
});
/**
* Upload form response
*
* @param responseXML Returned from the AJAX POST
*/
function uploadResponse(responseXML)
{
var displayName = $('display_name', responseXML).text();
var fileName = $('name', responseXML).text();
var directoryID = $('directory_id', responseXML).text();
var abbrTitle = $('abbr_title', responseXML).text();
var tableRow = 'file_' + tableRowCount;
$('table#listing tbody').prepend(row(displayName, null, '', 'delete.php?directory_id=' + directoryID + '&file=' + fileName, 'Delete', null, tableRow, 'fileName jsHide', 'rename jsHide', 'delete jsHide', abbrTitle));
$('td.jsHide').fadeIn();
// AJAX renaming
$('tr#file_' + tableRowCount).find('td.fileName').click(generateRenameForm);
// Remove "no files" notficiation
$('p#noFiles').remove();
alternatingRows();
tableRowCount++;
}
Конкретный код в функции uploadResponse()
не подлежит сомнению. Он просто не запускается (я проверял это с помощью alert()
).
Кроме того, IE6 отображает диалоговое окно «Эта страница содержит защищенный и небезопасный контент». Все сценарии, таблицы стилей и т. Д. Все локальны на защищенном сервере, поэтому, насколько я знаю, небезопасно. Я проверил это довольно тщательно.
Спасибо за любую помощь.