HTML fra javascript-output (DOM eller innerHTML)
Hejsa eksperterJeg har de seneste dage arbejdet med et script der automatisk skal opdatere indholdet på en side uden at man behøver at reloade siden. Jeg er helt ny indenfor AJAX og fik lavet et script fra en venlig sjæl i dette spørgsmål: http://www.eksperten.dk/spm/876527
Nu skal jeg have sat sidste touch på. Jeg vil have outputtet til at afvikle de html-koder der eventuelt er i udskriften. Jeg har forsøgt mig lidt med noget innerHTML men indtil nu er det kun lykkedes mig at lave html koder imellem udskrifterne. Jeg har læst lidt på W3Schools turtorial omkring DOM og har søgt på det her på eksperten, men fatter ikke så meget af det endnu, så har brug for et skub i den rigtige retning =)
Scriptet ser således ud:
<script language="javascript" type="text/javascript">
function ajaxFunction(){
var ajaxRequest;
try {
ajaxRequest = new XMLHttpRequest();
}
catch (e) {
try {
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){
alert("Your browser broke!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var text = ajaxRequest.responseText;
var src=document.getElementById("nyheder");
src.firstChild.nodeValue = text;
}
}
ajaxRequest.open("POST", "comments.php?id=<?print"$_GET[id]";?>", true);
ajaxRequest.send(null);
}
function refreshNews(){
src = document.getElementById('nyheder');
src.firstChild.nodeValue=ajaxFunction();
setInterval("ajaxFunction()",5000);
}
</script>
<div id="nyheder">Start</div>
comments.php:
<?
include("../../include/dataopkobling.php");
$kommentarnr = 0;
$s_kommentar = mysql_query("SELECT * FROM kommentar WHERE typeid = '$_GET[id]' AND type = 'nyhed' ORDER BY id");
WHILE($kommentar = mysql_fetch_array($s_kommentar)) {
print"<a name=\"d$kommentar[id]\"></a>";
$dktid = $kommentar[tid2];
include("$rod/include/tidskonvertering.php");
$sbruger1 = mysql_query("SELECT * FROM brugersystem WHERE id = '$kommentar[userid]'");
$bruger1 = mysql_fetch_array($sbruger1);
$writer = $bruger1[id];
$tekst = $kommentar[kommentar];
include("$rod/include/tekstud.php");
$tekst = preg_replace('/\[url=https?:\/\/([^]"]+?)\](.*?)\[\/url\]/i', '<a href="http://$1">$2</a>', $tekst);
$kommentaren = nl2br($tekst);
$kommentaren = stripslashes($kommentaren);
print"$kommentaren<br /><br />";
}
?>
