将内容插入到innerHTML中,而不清除里面已有的内容
我正在尝试创建一个帖子按钮,将最新帖子插入 div 中,而不清除内部的所有内容。我当前的代码插入了新的分隔线,但清除了其中的所有内容,所以我最终只得到最后一篇文章。
有谁知道如何修复它?
谢谢
代码是:
var xmlHttp
function submitNews() {
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null) {
alert ("Your browser does not support XMLHTTP!");
return;
}
var content = document.getElementById('newsfeed_box').value;
var uid = document.getElementById('pu_uid').innerHTML;
var url="ajax/submit_post.php";
url=url+"?post="+content+"&id="+uid;
url=url+"&validate="+Math.random();
xmlHttp.onreadystatechange=stateChange;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChange() {
switch(xmlHttp.readyState) {
case 1:
document.getElementById('successs').innerHTML = "<img src=\"style/images/loader.gif\" />";
document.getElementById('successs').style.display = "block";
break;
case 2:
document.getElementById('successs').innerHTML = "<img src=\"style/images/loader.gif\" />";
document.getElementById('successs').style.display = "block";
break;
case 3:
document.getElementById('successs').innerHTML = "<img src=\"style/images/loader.gif\" />";
document.getElementById('successs').style.display = "block";
break;
case 4:
var newdiv = document.createElement('div');
newdiv.innerHTML = xmlHttp.responseText;
document.getElementById('successs').appendChild(newdiv);
break;
}
}
// creating the XMLHttpRequest
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject) {
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
I'm trying to create a post button that inserts the latest posts into a div, without clearing everything that is inside. My current code inserts the new divider, but clears everything inside it, so i end up with just the last post.
Does anyone know how to fix it?
Thanks
The code is:
var xmlHttp
function submitNews() {
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null) {
alert ("Your browser does not support XMLHTTP!");
return;
}
var content = document.getElementById('newsfeed_box').value;
var uid = document.getElementById('pu_uid').innerHTML;
var url="ajax/submit_post.php";
url=url+"?post="+content+"&id="+uid;
url=url+"&validate="+Math.random();
xmlHttp.onreadystatechange=stateChange;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function stateChange() {
switch(xmlHttp.readyState) {
case 1:
document.getElementById('successs').innerHTML = "<img src=\"style/images/loader.gif\" />";
document.getElementById('successs').style.display = "block";
break;
case 2:
document.getElementById('successs').innerHTML = "<img src=\"style/images/loader.gif\" />";
document.getElementById('successs').style.display = "block";
break;
case 3:
document.getElementById('successs').innerHTML = "<img src=\"style/images/loader.gif\" />";
document.getElementById('successs').style.display = "block";
break;
case 4:
var newdiv = document.createElement('div');
newdiv.innerHTML = xmlHttp.responseText;
document.getElementById('successs').appendChild(newdiv);
break;
}
}
// creating the XMLHttpRequest
function GetXmlHttpObject() {
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject) {
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
问题出在你的 switch 语句中。您处理 1 - 3 的情况完全重置了元素的innerHTML。你可能看不到它,但这些案例正在受到打击。尝试将加载图像移动到不同的容器中,它将开始工作。
The problem is in your switch statement. Your cases to handle 1 - 3 completely reset the innerHTML of your element. You may not be able to see it, but these cases are getting hit. Try moving your loading image into a different container and it will start to work.
我相信这会成功:
I believe this will do the trick: