用IE 9编写javascript文档
使用ajaxForm后用IE 9编写javascript文档,javascript,jquery,internet-explorer-9,Javascript,Jquery,Internet Explorer 9,使用ajaxForm后 $('#JQF').ajaxForm({ dataType: 'html', iframe: false, beforeSend: UP.start, success: UP.stop }); 要将整个新的HTML文档字符串(DOCTYPE、脚本标记和全部)下载到字符串中 我呼吁: reloadMain: function (html) { var newDoc = document.open
$('#JQF').ajaxForm({
dataType: 'html',
iframe: false,
beforeSend: UP.start,
success: UP.stop
});
要将整个新的HTML文档字符串(DOCTYPE、脚本标记和全部)下载到字符串中
我呼吁:
reloadMain:
function (html) {
var newDoc = document.open("text/html", "replace");
newDoc.write(html);
newDoc.close();
}
};
从UP.stop将其加载到当前页面
在IE上,F12调试器会弹出未定义的变量
这是不是因为write(html)没有以与在线加载页面时相同的方式评估脚本
有更正确的方法吗?不需要将主窗体作为ajaxForm运行。在从submit重新加载主页之前,该页面将在运行脚本的情况下保持活动状态以进行更新 最后的代码是
$('#JQF').on('submit', function(){
UP.start();
return true;
});
其中UP.start使用setTimeout(UP.requestInfo,2)进行处理 它说哪些变量是未定义的?其目的是用表单post返回的html替换当前页面吗?是的,确切地说,该页面在表单提交时一直处于活动状态,运行后台脚本,现在它完成了,结果文本想要替换当前页面。这是提交表单时发生的默认操作。为什么要用javascript复制它?这样做不会节省任何资源,根据我自己的测试,javascript将继续在页面上运行,同时等待来自正常表单提交的响应。基于此,iframe还应该继续更新,并且能够更新父页面,直到表单提交完毕。