【发布时间】:2009-04-01 16:39:36
【问题描述】:
我正在使用 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 显示“此页面包含安全和非安全内容”对话框。所有脚本、样式表等都在安全服务器上是本地的,所以据我所知,没有什么是不安全的。我已经非常彻底地检查了。
感谢您的帮助。
【问题讨论】:
标签: jquery internet-explorer-6