148
rated 0 times
[
154]
[
6]
/ answers: 1 / hits: 45779
/ 11 Years ago, fri, august 30, 2013, 12:00:00
I'm using this code to update a div
with an AJAX request
var xmlhttp;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
document.getElementById(some_id).innerHTML += xmlhttp.responseText;
}
}
xmlhttp.open(GET, http://example.com/);
xmlhttp.setRequestHeader('Content-Type', 'utf8');
xmlhttp.send();
Everything works fine, the problem is that when the div
with id some_id
has a lot of content in it i can see the content disappearing and then appearing updated after the AJAX request has been executed.
I think that it's because
document.getElementById(some_id).innerHTML += xmlhttp.responseText;
Is deleting and replacing the innerHTML
of the div
with the previous innerHTML
plus the new content, resulting in a previous content → blank → updated content
behaviour.
Is there a way to append the new content to the div
instead of replacing its whole content with the new one?
More From » html