Det er faktisk meget simpelt, men det høre nok mest under JavaScript, og som hf2ke gør opmærksom på så bør du sætte dig ind i det. Jeg syntes dog aligevel jeg vil komme med et eksempel.
::::::::::::::::::::::::::::::::(Ikke testet)
html fil (index.html)
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd"><html>
<head>
<title>AJAX Test</title>
<!-- ====================Metadata==================== -->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="da">
<script type="text/javascript">
//Opretter XMLhttpObject
function xmlHttpObject(){
if (window.XMLHttpRequest) return new XMLHttpRequest();
if (!window.ActiveXObject) return null;
var a = ["MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "Msxml2.XMLHTTP", "Microsoft.XMLHTTP"];
var o = null;
for (var i=0,j=a.length; i<j; i++)
{try {if(o=new ActiveXObject(a[i]))return o;}catch(e){};}
return a = o = null;
}
function ajaxConn(){
xmlHttp = new xmlHttpObject();
}
function ajaxSend(sUrl, sParams){
xmlHttp.open("POST",sUrl,true);
xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded; charset=utf-8");
xmlHttp.setRequestHeader("Content-length", sParams.length);
xmlHttp.setRequestHeader("Connection", "close");
xmlHttp.send(sParams);
}
</script>
<script type="text/javascript">
//Dette er funktionen der køre hver 5. sekund
function runAJAX(oTxt){
//Dette er de POST data der bliver sendt fx $_POST['string']
var params = '&string='+oTxt.value;
ajaxConn();
xmlHttp.onreadystatechange=function()
{
if (xmlHttp.readyState==4)
{
//hvis fillen blev fundet
if (xmlHttp.status==200)
{
//Når postdata er sendt og respons fra PHP er modtaget
Respons = xmlHttp.responseText;
//Dette eksempel skriver den tekst der blev modtaget i <span id="span">
if (document.getElementById('span').childNodes.length == 0){
var Inset = document.createTextNode(Respons);
document.getElementById('span').appendChild(Inset);
}else{
document.getElementById('span').firstChild.nodeValue = Respons;
}
}
}
}
ajaxSend('FilDerGemmer.php', params);
//starter funktion igen om 5 sekunder
setTimeout(function (){runAJAX(oTxt);},5000)
}
</script>
</head>
<body>
<span id="span">Venter på du skriver noget</span>
<!-- for at der ikke bruges unødvendige kræfter starter kædereaktionen først når brugeren har løftet fingeren fra tasten -->
<textarea onkeyup="runAJAX(this);"></textarea>
</body>
</html>
Den fil hvor data bliver sendt til (FilDerGemmer.php)
<?php
//eksempel på PHP fil
header('Content-type: text/plain; charset=utf-8');
if (get_magic_quotes_gpc())
{
foreach ($_POST as $key => $value)
{
$_POST[$key] = stripslashes($_POST[$key]);
}
}
if (!empty($_POST['string'])){
//send $_POST['string'] til database
//if (data blev sendt til database){
echo 'Data sendt';
//}
}
else
{
echo 'Du har ikke skrævet noget';
}
?>