I'm using the jQuery plugin ajaxForm to submit a file upload form via AJAX. The script submits the form, which, upon success, runs uploadResponse()
that adds a new row into a <table>
on the page. It works fine in Opera, Firefox, Safari, IE7, and IE8.
However, IE6 does not run the uploadResponse()
after the form has been submitted. The POST request from the script runs and you can see the file when you refresh the page. However, uploadResponse()
simply does not run and the DOM is not updated.
Here is the portion of the script:
/**
* 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++;
}
The particular code in the uploadResponse()
function is not under question. It simply does not run (I tested it using alert()
).
Also, IE6 displays the "this page contains secure and non-secure content" dialogue box. All of the scripts, stylesheets, etc. are all local on the secure server, so nothing as far as I'm aware is non-secure. I've checked over this pretty thorougly.
Thanks for any help.