如何用innerHTML操纵AJAX返回的HTML标签

我用AJAX从服务器传递回来一段HTML标签,比如<divid="test"></div>显示在网页上(注意原页面是没有此标签的)。现在我想用JS的innerHTML方法... 我用AJAX从服务器传递回来一段HTML标签,比如<div id="test"></div>显示在网页上(注意原页面是没有此标签的)。现在我想用JS的innerHTML方法向该DIV标签内添加一个文本框,想实现的结果为<div id="test"><input type='text' name='abc'></div>。但是一直实现不了,页面一直显示LOADING,我猜测的原因是因为这段DIV标签是从服务器动态传输过来的,客户端的原页面并没有该DIV标签,而用innerHTML方法自然也在原页面找不到id为test的标签了,所以一直会显示loading提示,请问如何解决这个问题呢? 展开
 我来答
wxqlgd
2013-09-24 · TA获得超过7025个赞
知道小有建树答主
回答量:415
采纳率:0%
帮助的人:323万
展开全部
用回调函数试试。。要在页面里添加上这个div容器以后再往其中添加input.
function a(){
b(c);

}
function b(callback){
这儿获取你的返回值,将div容器写到页面;

callback();

}
function c(){
document.getElementById("test").innerHTML="<input type='text' name='abc'>";

}
你触发a函数就行了,试试。。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
16611922
2013-09-24 · 超过28用户采纳过TA的回答
知道答主
回答量:139
采纳率:100%
帮助的人:86.8万
展开全部
先测试服务端能否正常返回和返回的内容。

处理返回结果
function getData(){
var xmlHttp; //处理为局部变量
if(window.ActiveXObject)
xmlHttp = new ActiveXObject("Microsoft.XMLHttp");
else if(window.XMLHttpRequest)
xmlHttp = new XMLHttpRequest();
var queryString = "ajax.asp?timestamp=" + new Date().getTime();
xmlHttp.onreadystatechange = function(){
if(xmlHttp.readyState == 4 && xmlHttp.status == 200){
var responseSpan = document.getElementById(“test”);
responseSpan.innerHTML = xmlHttp.responseText;
//处理loading提示
delete xmlHttp; //收到返回结果后手动删除
xmlHttp = null;
}
}
xmlHttp.open("GET",queryString);
xmlHttp.send(null);
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式