<html>
<head>
<!-- Datei summephp.html -->
<script language="JavaScript" src="utility_funktionen.js"></script>
<script language="JavaScript">
// Globales Ajax-Objekt erzeugen
ako = new ErzeugeAJAXObjekt();
//Globales Ajax-Kommunikationsobjekt erzeugen
ahro = ako.erzXMLHttpRequestObject();
// asynchrone Anfrage zum Webserver senden
function send_rechne()
{
// die Werte der Eingabefelder auf Variablen speichern
text1=document.getElementById('tf1').value;
text2=document.getElementById('tf2').value;
// die Werte der Variablen verschl�sseln (zweifaches encodieren: base64/url)
// wegen Sonderzeichen ... url und wegen Sicherheit ... base64
text1=my_encode(text1); // Definition der Funktion my_encode() in externen Utility-Datei
text2=my_encode(text2); // Definition der Funktion my_encode() in externen Utility-Datei
// erforderliche Zusatzdaten f�r den POST-Mechanismus zusammenbauen
ahro_parameter="text1="+text1+"&text2="+text2;
// dem Web-Server mitteilen, dass Daten mittels POST-Mechanismus gesendet werden
// dem Web-Server mitteilen, welche (PHP)-Datei ausgef�hrt werden soll
ahro.open("POST", "rechne.php", true);
// notwendige Formalit�ten/Informationen f�r den Webserver
ahro.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
// erforderlichen Parameter als ergaenzende Daten an den Web-Server senden
ahro.send(ahro_parameter);
// wenn Antwort vom Web-Server kommt, im Browser (Client) die Javascript-Funktion antwort_rechne() aufrufen
ahro.onreadystatechange=antwort_rechne;
// Elemente deaktivieren (bis Antwort vom Web-Server kommt)
document.getElementById('tf1').disabled=true;
document.getElementById('tf2').disabled=true;
document.getElementById('knopf').disabled=true;
}
// asynchrone Anwort von Webserver empfangen
function antwort_rechne()
{
/*
Nur zur Info:
ahro.readyState holds the status of the XMLHttpRequest and changes from 0 to 4:
0: request not initialized
1: server connection established
2: request received
3: processing request
4: request finished and response is ready
*/
if (ahro.readyState == 4)
{
// Antwort von Web-Server im Element mit der id="ergebnis" anzeigen
document.getElementById('ergebnis').innerHTML = ahro.responseText;
// Elemente wieder aktivieren - neue Berechnung kann durchgef�hrt werden
document.getElementById('tf1').disabled=false;
document.getElementById('tf2').disabled=false;
document.getElementById('knopf').disabled=false;
}
}
function taste(e)
{
if (e.keyCode == 13) // RETURN-Taste wurde gedr�ckt
{
send_rechne();
}
}
</script>
</head>
<body>
<div style="position:absolute; top:10px; left:20px; width:350; height:100px; background-color:red;">
<h2>Summe</h2>
<form>
1. Wert: <input type="text" id="tf1" size="5" maxlength="10" onKeyPress="taste(event)">
2. Wert: <input type="text" id="tf2" size="5" maxlength="10" onKeyPress="taste(event)">
<input type="button" id="knopf" value="Aktion" onClick="send_rechne()">
</form>
</div>
<div id="ergebnis" style="position:absolute; top:150px; left:120px; width:200px; height:20; background-color:yellow;">
</div>
</body>
</html>