我的 Jquery 脚本最近停止在 IE9 中工作。我有一个联系表单,可以通过提交到隐藏的 iframe 来使用 Jquery 上传文件。该脚本适用于 FF、Chrome、IE10,并且曾经适用于 IE9(尚未在 8 或 7 中测试过)。我的 iframe 提交功能如下。我在 IE 中收到的错误消息是“未定义”。我在 IE9 浏览器模式下使用 IE10 在 Windows 8 上。我知道这里有很多类似的问题,但没有一个暗示可行的解决方案。有人能告诉我我需要改变什么来解决这个问题吗?谢谢!
编辑:我发现 Jquery load() 不适用于 iframe 的 IE。
function mcIframeSubmit(){
// remove iframe if exists
$('#mcHiddenIframe').remove();
// change target attribute on form
mcForm.attr('target', 'mcHiddenIframe');
// create and add iframe to page
$('<iframe />', {
name: 'mcHiddenIframe',
id: 'mcHiddenIframe',
style: 'display:none'
}).appendTo('body');
// on response from php file
$('#mcHiddenIframe').load(function(){
var mcIframeResponse = $(this).contents().find('.mc1').html();
var mcIframeError = $(this).contents().find('.mc2').html();
// reset form
mcResetForm();
// hide loading image
$(mcLoading).hide();
// scroll to top
$(mcWrapElement).stop().animate({scrollTop: mcForm.offset().top -60},'slow');
// display response message
if (mcIframeError == true) {
mcResponse(mcIframeResponse, true);
} else {
mcResponse(mcIframeResponse, true);
// redirect on success?
mcSuccessRedirect();
}
// stop iframe load
$(this).unbind('load');
// remove form target attribute
mcForm.removeAttr('target');
// refresh captcha image
mcReloadRecaptcha();
});
}