我正在尝试在弹出模式窗口中使用 IFrame 创建一个外观为 AJAX 的文件上传器。脚本在目标页面上运行并上传文件后,我会使用以下代码返回到我的模式窗口的响应:
function stopUpload(success) {
var result = '';
if (success == 0) {
document.getElementById('result').innerHTML = '<div class="msg-error" style="width:492px;">There was an error during file upload!<\/div><br/>';
} else if (success == 2) {
document.getElementById('result').innerHTML = '<div class="msg-error" style="width:492px;">ERROR! Please upload a document with the following file types....<br/><br/>txt, doc, xls, rtf, ppt, pdf, jpg, jpeg, gif, png, xlsx, docx, png, pps, ppsx, ppt<\/div><br/>';
} else {
var dom_string = success;
var dom_target = window.top.document.getElementById('table_body');
dom_target.innerHTML = dom_string;
document.getElementById('result').innerHTML = '<div class="msg-status" style="width:492px;">The file was uploaded successfully!<\/div><br/>';
}
document.getElementById('f1_upload_process').style.visibility = 'hidden';
return true;
}
上面的代码应该在我的模态窗口中给出一条成功消息,然后更新模态窗口后面父页面上的文件列表,以便该人可以处理另一个上传。在 FF 18 中一切正常,但 IE 9 在开发人员工具栏上抛出以下错误:
SCRIPT600:此操作的目标元素无效。
dom_target.innerHTML = dom_string;
我对此感到困惑,因为 table_body 是目标的 ID,而且它在 Firefox 中效果很好。有任何想法吗?我正在拔头发。