Also wie der Titel schon sagt möchte ich ein Formular per ajax an ein php Script schicken.
Dazu habe ich folgendes Formular erstellt:
HTML
<html>
<head>
<script type="text/javascript" src="selectuser.js"></script>
</head>
<body>
<h1 style="text-align: center;">Neuer Eintrag</h1>
<form>
Niedrigster Puls<input type="text" name="niedrigsterpuls"><br/>
<input type='hidden' name='tag' value=''><input type='hidden' name='jahr' value=''><input type='hidden' name='monat' value=''>Höchster Puls<input type="text" name="hoechstpuls"><br/>
Durchschnittlicher Puls:<input type="text" name="durchschnitspuls"><br/>
Gelaufene Km:<input type="text" name="km"><br/>
Dauer:<input type="text" name="zeit"><br/>
Verbrauchte Kalorien:<input type="text" name="verbrauch"><br/>
<input type="submit" value="eintragen" name="gesendet" onchange="eintrag(this.value)>
</form>
<div id="status">
</div>
</body>
</html>
Alles anzeigen
Das php Programm zur Auswertung sieht folgender maßen aus:
HTML
<?php
$gesendet = $_POST['gesendet'];
if(isset($gesendet)){
include("db_connect.inc.php");
$km = $_POST['km'];
$zeit = $_POST['zeit'];
$kmh = $km / $zeit;
$hpuls = $_POST['hoechstpuls'];
$npuls = $_POST['niedrigsterpuls'];
$dpuls = $_POST['durchschnitspuls'];
$verbrauch = $_POST['verbrauch'];
$day = $_POST['tag'];
$month = $_POST['monat'];
$year = $_POST['jahr'];
/* Einfügen der Daten */
$abfrage = "INSERT INTO haillo (jahr, hoechstpuls, niedrigsterpuls, durchschnitspuls, km, kmh, zeit, verbrauch, monat, tag) VALUES ('$year', '$hpuls', '$npuls', '$dpuls', '$km', '$kmh', '$zeit', '$verbrauch', '$month', '$day')";
$ergebnis = mysql_query($abfrage);
/* Überprüfung ob die Daten eingetragen wurden. */
if($ergebnis == 1) {
echo "Eintrag gespeichert";
}
else {
echo "Eintrag konnte leider nicht gespeichert werden.";
}
}
?>
Alles anzeigen
Und zu guter letzt der Javascript code bei dem ich nicht weiter komme:
HTML
var xmlhttp;
function eintrag(str)
{
xmlhttp=GetXmlHttpObject();
if (xmlhttp==null)
{
alert ("Browser does not support HTTP Request");
return;
}
var url="getuser.php";
url=url+"?q="+str;
url=url+"&sid="+Math.random();
xmlhttp.onreadystatechange=stateChanged;
xmlhttp.open("GET",url,true);
xmlhttp.send(null);
}
function stateChanged()
{
if (xmlhttp.readyState==4)
{
document.getElementById("status").innerHTML=xmlhttp.responseText;
}
}
function GetXmlHttpObject()
{
if (window.XMLHttpRequest)
{
// code for IE7+, Firefox, Chrome, Opera, Safari
return new XMLHttpRequest();
}
if (window.ActiveXObject)
{
// code for IE6, IE5
return new ActiveXObject("Microsoft.XMLHTTP");
}
return null;
}
Alles anzeigen
Ok das waren die vorhandenen Elemente.
Leider bin ich gerade erst in Javascript und Ajax eingestiegen und komme nicht so recht weiter, denn der vorhandene Code führt nicht zum gewünschten Ergebnis.
Ich hoffe mir kann jemand bei der Lösung behilflich sein.
Mfg
haillo