salut,
cela fait maintenant quelque mois que je bidouille avec l'AJAX et je dois avouer que je n'ai jamais rencontré se problème.
innerthtml fonctionne très bien. si tu veux éffacer le contenue d'une div tu n'as que faire ceci ma_div.innerhtml = ' '; cela devrai suffir.
pour se qui est d'avoir 2 fois le même contenue à la suite dans t'a div, je te conseille de reprendre l'AJAX à la source;
function envoieRequete(url_php,div_id,page2){ //fonction qui rempli une balise div avec une page var xhr_object = null; var attente = '<div id="load"><div id="load_img"><img src="./IMG/ajax-loader.gif" alt="load" width="50px" height="50px">Chargement en cours</div></div>'; if(window.XMLHttpRequest) // Firefox et autres xhr_object = new XMLHttpRequest(); else if(window.ActiveXObject){ // Internet Explorer try { xhr_object = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { xhr_object = new ActiveXObject("Microsoft.XMLHTTP"); } } else { // XMLHttpRequest non supporté par le navigateur alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..."); xhr_object = false; } // On ouvre la requete vers la page désirée xhr_object.open("POST", url_php, true); xhr_object.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); //POST //xhr_object.setRequestHeader("Content-Type", "text/html; charset=iso-8859-1"); //GET xhr_object.onreadystatechange = function(){ if ( xhr_object.readyState == 4 ) { // j'affiche dans la DIV spécifiées le contenu retourné par le fichier document.getElementById(div_id).innerHTML = xhr_object.responseText; } else { document.getElementById(div_id).innerHTML = attente; } } // dans le cas du post envoi des variables xhr_object.send("page="+page2); }
ou sinon pour faire plus simple utilise la librairie prototype.js, dont voici un 'tit exemple