hi,
ich hab versucht das vorhergenannte formular nun umzubauen alerdings bin ich noch anfänger und es hat nicht ganz geklappt :(
und zwar wen ich das formular abschicke kommt nur eine seite wo "1" steht.
ich hoffe ihr könnt mir helfen das problem zu lösen.
hier das formular:
<div id="brief">
<form method="post" action="saveData.php">
<table border="0">
<tr>
<td width="50%">Firmenname:</td>
<td> E-Mail Adresse:</td>
</tr>
<tr>
<td><input type="text" name="mailfname" size="45" maxlength=120 value=""></td>
<td><input type="text" name="mailemail" size="45" maxlength=120 value=""></td>
</tr>
<tr>
<td>Ansprechparter:</td>
<td>Telefonnummer:</td>
</tr>
<tr>
<td><input type="text" name="mailname" size="45" maxlength=120 value=""></td>
<td><input type="text" name="mailnr" size="45" maxlength=120 value=""></td>
</tr>
<tr>
<td colspan="2">Text:</td>
</tr>
<tr>
<td colspan="2"><textarea cols="75" rows="9" name="comment"></textarea></td>
</tr>
<tr>
<td colspan="2"><div align="right"><input type="submit" value="Nachricht versenden" name="submit" id="submit"></div>
</td>
</tr>
</table>
</form>
</div>
das script:
$(document).ready(function() {
//click event für submit button
('#submit').click(function () {
//Daten von den HTML Feldern in JS-Vars übersetzen
var mailname = $('input[name=mailname]');
var mailfname = $('input[name=mailfname]');
var mailemail = $('input[name=mailemail]');
var mailnr = $('input[name=mailnr]');
var comment = $('textarea[name=comment]');
//die Daten sollen per GET an das PHP Skript weitergeleitet werden. Dafür bauen wir einen
//String
var data = 'mailname=' + mailname.val() + '&mailemail=' + mailemail.val() + '&mailfname=' + mailfname.val() + '&mailnr=' + mailnr.val()
+ '&comment=' + encodeURIComponent(kommentar.val());
//alle Textfelder deaktivieren
$('.text').attr('disabled','true');
//Icon während des Requests einblenden
$('.loading_icon').show();
//Request abschicken
$.ajax({
//Ort des Skriptes in dem die per GET übertragenen Daten verarbeitet werden sollen
url: "saveData.php",
//Angabe der GET Methode, auch POST wäre möglich. Allerdings nur sinnvoll
//bei größeren Datenmengen
type: "GET",
//Daten die gesendet werden sollen
data: data,
//bei Antwort des Requests (Response)
success: function (reqCode) {
//wenn saveData.php true bzw. den Status 1 zurückliefert
if (reqCode==1) {
//verstecken des Formulars
$('.form').fadeOut('slow');
//anzeigen der Erfolgsmeldung
$('.done').fadeIn('slow');
//wenn der Request eine Form von false zurückschickt, Fehler ausgeben.
} else{
alert('Fehler beim Abschicken des Formulares.');
}
}
});
return false;
//der return wird benötigt, damit das Formular nicht tatsächlich abgeschickt wird und
//sich nicht wie ein normales Form mit Seiten Refresh verhält.
});
});
und die savedata.php:
<?php
$mailname = $_POST['mailname'];
$mailemail = $_POST['mailemail'];
$mailfname = $_POST['mailfname'];
$mailnr = $_POST['mailnr'];
$comment = $_POST['comment'];
$empfaenger = "sfdghdfgsd@web.de";
$betreff = "$mailfname NR: $mailnr";
$from = "From: $mailname < $mailemail >";
mail($empfaenger, $betreff, $comment, $from);
//do some data saving stuff
$allGood = saveMethod($mailname,$mailemail,$mailfname,$mailnr,$comment);
if($allGood){
echo 1;
}else{
echo 2;
}
function saveMethod($mailname,$mailemail,$mailfname,$mailnr,$comment){
//do some DB queries
return true;
}
?>
vielen dank für eure hilfe mfg caner