Javascript 使用innerHTML重新加载页面的中心窗格
我希望使用以下方法来更新页面的中心窗格,而不是使用iframe 我想在以下方面得到一些帮助。 如果我想将另一个HTML页面加载到中心窗格中,那么正确的语法是什么Javascript 使用innerHTML重新加载页面的中心窗格,javascript,html,innerhtml,Javascript,Html,Innerhtml,我希望使用以下方法来更新页面的中心窗格,而不是使用iframe 我想在以下方面得到一些帮助。 如果我想将另一个HTML页面加载到中心窗格中,那么正确的语法是什么 document.getElementById( 'centerPane' ).innerHTML.??? = 'SampleHTML.htm' ; 在innerHTML之后我需要获得什么属性 或者我应该使用一些其他调用来实现它。如果您碰巧使用jQuery,它可以简单到: $('#centerPage').load('SampleHT
document.getElementById( 'centerPane' ).innerHTML.??? = 'SampleHTML.htm' ;
在innerHTML之后我需要获得什么属性
或者我应该使用一些其他调用来实现它。如果您碰巧使用jQuery,它可以简单到:
$('#centerPage').load('SampleHTML.htm') 要做到这一点,必须使用ajax。例如: 您还可以(应该)使用jQuery来简化它,并使它更易于跨浏览器编译。在jquery中,它将只是一行代码
编辑:更新了JSFIDLE链接以使用更好的加载文件示例。如果您没有使用jQuery或其他内置ajax方法的库:
var setHtml = function (element, url) {
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
element.innerHTML = xhr.responseText;
}
};
xhr.timeout = 10000;
xhr.open('GET', url, true);
xhr.send();
};
然后简单地调用setHtml函数,如下所示:
setHtml(document.getElementById('centerPane'), 'SampleHTML.htm');
这里需要AJAX。试试jQuery的AJAX调用。我希望他使用的是jQuery,否则他可能需要手动拼凑一个XHR对象。感谢所有的快速响应……我没有使用jQuery。我正在使用html/dojo。中心窗格中的数据通过dojox.grid.DataGrid呈现。还有什么建议吗?再次感谢…感谢所有的快速回复…我没有使用jQuery。我正在使用html/dojo。中心窗格中的数据通过dojox.grid.DataGrid呈现。我使用dojox.data.JsonRestStore获取数据,然后将其呈现给vai DataGrid。如何通过jQuery实现这一点?还有什么建议吗?再次感谢。语法有错误。它应该是
setHtml(document.getElementById('centerPane'),'SampleHTML.htm')代码>谷歌调试器显示“未捕获的TypeError:无法将属性'innerHTML'设置为null(重复2次)。”这行后面的“error”element.innerHTML=xhr.responseText;“function updateCenter(dest){var setHtml=function(element,url){var xhr=new XMLHttpRequest();xhr.onreadystatechange=function(){if(xhr.readyState==4&&xhr.status==200){element.innerHTML=xhr.responseText;};xhr.timeout=10000;xhr.open('GET',url,true);xhr.send();};setHtml(dojo.byId('centerPane'),dest);}这是因为元素为null。请检查dojo.byId('centerPane'),并确保它返回的是一个元素而不是null。