Al geruime tijd zit ik te klooien met een ajax probleempje. De waarde die wordt bepaald wordt namelijk niet getoond in de pagina.
Het gaat om een ajax aanroep waarin een berekening wordt gedaan met 2 waardes, het resultaat wordt weggeschreven in de database en moet worden getoond op het scherm. Het wegschrijven werkt prima, het tonen lijkt af en toe wel te werken maar meestal niet.
Kan iemand aangegeven waarom de waarde niet wordt bijgewerkt in de pagina?
PS. als er al een waarde in de database staat wordt deze initieel netjes weergegeven, na het aanroepen van de ajax routine is het veld leeg. Zoals gezegd wordt de database waarde wel bijgewerkt.
Zie hieronder voor de code waar het om gaat.
Het code deel uit de php pagina: (het PHP deel plaatst de reeds aanwezige waarde uit de databse, bijvoorbeeld bij heropenen van de pagina)
<td class=tekst><div id="KrachtTOT" class=tekst><?php echo $antwoorden[krachtTOT]; ?></div></td>
De javascript functie:
if (KrachtLI != 0 && KrachtRE != 0)
{
xmlHttp=GetXmlHttpObject()
if (xmlHttp==null)
{ alert ("Your browser does not support AJAX!"); return; }
// Kracht totaal berekenen bepalen
var url="ajax_scripts/kracht.php";
url=url+"?q="+KrachtLI;
url=url+"&r="+KrachtRE;
url=url+"&t="+testpersoon;
url=url+"&g="+geslacht;
url=url+"&l="+leeftijd;
url=url+"&sid="+Math.random();
xmlHttp.onreadystatechange=ReturnKracht;
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
// { alert ("hier komt ie!"); return; }
}
}
En de php pagina die wordt aangeroepen via ajax:
<?php
header("Cache-Control: no-cache, must-revalidate");
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
$krachtli=$_GET["q"];
$krachtre=$_GET["r"];
$TestpID = $_GET["t"];
$geslacht = $_GET["g"];
$leeftijd = $_GET["l"];
// bepalen kracht totaal
$krachttot= $krachtli + $krachtre;
include '../library/config.php';
include '../library/opendb.php';
// krachttotaal opslaan in de database
$query = "UPDATE td_ftod SET kracht_tot = '$krachttot' WHERE TestpID = '$TestpID'";
mysql_query($query) or die('Error : ' . mysql_error());
include '../library/closedb.php';
$response=$krachttot;
echo $response;
?>
knop om dit te doen.