Ajax kontakt formular
Caner
- javascript
Hi,
ich bin auf der suche nach einen einfachen kontaktformular das funktioniert ohne die seite neu zu laden.
es solte einfach aufgebaut sein und keinen spam schutz haben.
fals ihr eins kennt würde ich mich über einen link freuen :D
wie dieseshier.
bei diesen weis ich alerdings nicht wie ich es hinbekomme das es an meine e-mail gesendet wird?
mfg caner (und entschuldigung für mein schlechtes deutsch)
'ǝɯɐu$ ıɥ
ich bin auf der suche nach einen einfachen kontaktformular das funktioniert ohne die seite neu zu laden.
es solte einfach aufgebaut sein und keinen spam schutz haben.
fals ihr eins kennt würde ich mich über einen link freuen :D
wie dieseshier.
bei diesen weis ich alerdings nicht wie ich es hinbekomme das es an meine e-mail gesendet wird?
in dem in der saveData.php die übergebenen daten per mail(); abgeschickt werden ;-).
ssnɹƃ
ʍopɐɥs
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
ich hab versucht das vorhergenannte formular nun umzubauen alerdings bin ich noch anfänger und es hat nicht ganz geklappt :(
das Skript enthält Fehler, schau mal in die Fehlerkonsole.
Struppi.
ich weis leider nicht welche fehlerkonsole du meinst wäre net wen du mir die fehler sagen köntest
mfg caner
Hallo caner,
ich weis leider nicht welche fehlerkonsole du meinst
es gibt nur eine:
FF: Extras -> Fehlerkonsole
IE: Klick auf das gelbe Dreieck mit "!"
Ich würde zum Entwickeln den Firefox nehmen. Die Fehlermeldungen des IE sind nicht immer hilfreich. Testen musst du natürlich dann in allen relevanten Browsern.
Gruß, Jürgen