【发布时间】:2009-07-14 02:55:08
【问题描述】:
我在 jQuery 选项卡布局中有一个 iframe。我正在使用 iframe 上传图像,以模拟 AJAX 文件上传。似乎每当我的 iframe 回发时,它都会导致父页面的 $(document).ready 执行,重置我所在的当前选项卡。
关于如何防止这种情况的任何想法?
function uploadDone() {
var data = eval("("+ $('#upload_target').contents().find('body').html() +")");
if(data.success) {
$('#upload_summary').append("<img src='" + data.full_path + "' />");
$('#upload_summary').append("<br />Size: " + data.file_size + " KB");
}
else if(data.failure) { //Upload failed - show user the reason.
alert("Upload Failed: " + data.failure);
}
}
$(document).ready(function() {
$('#image_uploader').submit(function() {
if($.browser.safari || $.browser.opera) {
$('#upload_target').load(function(){
setTimeout(uploadDone, 0);
});
var iframe = document.getElementById('upload_target');
var iSource = iframe.src;
iframe.src = '';
iframe.src = iSource;
} else {
$('#upload_target').load(uploadDone);
}
});
});
【问题讨论】:
-
你能发布你的代码吗?当您在 iFrame 上提交表单并在父页面的 document.ready 中检查该标志时,您不能尝试设置一个标志吗?
-
iframe 中的回发是否会导致父页面中的回发是否正常?
标签: jquery iframe postback tabs