Hallo,
ich versuche ein Formular per Javascript zu überprüfen und dann zu verschicken. Auf Macintosh unter Firefox funktioniert alles, aber alle anderen Browser und Plattformen versagen.
Jemand ne Idee woran es liegen kann?
Script im header:
<!-- FORMULAR -->
<script type="text/javascript">
function refreshForm() {
setTimeout(function(){
$("#myform").show();$('#done').hide();
$("input").each(function() {$(this).val('');});
$("textarea").each(function() {$(this).val('');});
$('#submit').val('senden');
}, 6000);
}
function validEmail(email) {
var strReg = "^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})+$";
var regex = new RegExp(strReg);
return(regex.test(email));
}
function validate\_form(){
var go_sendmail = true;
$(".required").each(function (){
if ($(this).hasClass('email')){
if (!validEmail($(this).val())){$(this).css("color","red");$(this).val("Bitte eine gültige Mail Adresse eingeben");
go_sendmail = false;
}
}
else {
if (($(this).val() == '') || ($(this).val() == 'Bitte eine gültige Eingabe machen')) {
$(this).css("color","red");$(this).val("Bitte eine gültige Eingabe machen");
go_sendmail = false;
} else {
$(this).css("border-color","#006ab3");
};
};
});
if(go_sendmail){sendmail();};
}
function sendmail() {
var vorname = $('input[name=vorname]');
var nachname = $('input[name=nachname]');
var email = $('input[name=email]');
var nachricht = $('textarea[name=nachricht]');
if (document.myform.fragen.checked == true) { var check01= $(fragen).val("Bitte zusenden"); } else { var check01= $(fragen).val("Kein Interesse"); };
if (document.myform.unternehmensprofil.checked == true) { var check02= $(unternehmensprofil).val("Bitte zusenden"); } else { var check02= $(unternehmensprofil).val("Kein Interesse"); };
if (document.myform.beraterprofile.checked == true) { var check03= $(beraterprofile).val("Bitte zusenden"); } else { var check03= $(beraterprofile).val("Kein Interesse"); };
var data = 'vorname=' + vorname.val() + '&nachname=' + nachname.val() + '&email=' + email.val() + '&nachricht=' + nachricht.val() + '&fragen=' + check01.val() + '&unternehmensprofil=' + check02.val() + '&beraterprofile=' + check03.val();
//$('#myform').fadeOut(2000);
$.ajax({
url: "senddata.php",
type: "POST",
data: data,
success: function (reqCode) {
$('#myform').fadeOut('slow');
$('#done').fadeIn('slow');
}
});
// refreshForm();
return false;
};
</script>
Formular:
<form name="myform" method="post" action="senddata.php" id="myform" onSubmit="return false" class="clearfix">
<label for="vorname">Vorname*</label><input onFocus="if (this.value == 'Bitte eine gültige Eingabe machen') this.value = '';this.style.color='#000000';" class="required" type="text" name="vorname" id="vorname" />
<div style=" clear:both;"></div>
<label for="nachname">Nachname*</label><input onFocus="if (this.value == 'Bitte eine gültige Eingabe machen') this.value = '';this.style.color='#000000';" class="required" type="text" name="nachname" id="nachname" />
<div style=" clear:both;"></div>
<label for="email">E-Mail*</label><input onFocus="if (this.value == 'Bitte eine gültige Mail Adresse eingeben') this.value = '';this.style.color='#000000';" class="required email" type="text" name="email" id="email" />
<div style=" clear:both;"></div>
<label for="nachricht">Ihre Nachricht</label>
<textarea onFocus="if (this.value == 'Bitte eine gültige Eingabe machen') this.value = '';this.style.color='#000000';" name="nachricht" id="nachricht"></textarea>
<div style=" clear:both;"></div>
<label for="fragen">Ich habe Interesse an folgendem Infomaterial: </label><br/><input type="checkbox" class="checkboxen" name="fragen" id="fragen" value="Bitte zusenden 1" /><p>Flyer 7 Fragen... (PDF): </p>
<input type="checkbox" class="checkboxen" name="unternehmensprofil" id="unternehmensprofil" value="Bitte zusenden" /><p>Unternehmensprofil (PDF)</p>
<input type="checkbox"class="checkboxen" name="beraterprofile" id="beraterprofile" value="Bitte zusenden" /><p>Beraterprofile (PDF)</p>
<div style=" clear:both;"></div>
<label for="submit" class="submit"></label><input type="submit" name="submit" id="submit" value="senden" onClick="validate_form();"/>
<small class="clear">Die mit einem * versehenen Felder sind Pflichtfelder.</small>
</form>
Und hier das PHP:
<?php
if (isset($_POST)){
$empfaenger = 'meine mail@web.de';
$betreff = "Kontaktanfrage";
$nachricht_text = "Vorname: ".$_POST['vorname']. "\r\n";
$nachricht_text .= "Name: ".$_POST['nachname']. "\r\n";
$nachricht_text .= "E-Mail: ".$_POST['email']. "\r\n\r\n";
$nachricht_text .= "Nachricht: " . "\r\n" .$_POST['nachricht']. "\r\n\r\n";
$nachricht_text .= "Ich habe Interesse an folgendem Infomaterial: " . "\r\n";
$nachricht_text .= "Flyer 7 Fragen... (PDF): " .$_POST['fragen']. "\r\n";
$nachricht_text .= "Unternehmensprofil (PDF): " .$_POST['unternehmensprofil']. "\r\n";
$nachricht_text .= "Beraterprofile (PDF): " .$_POST['beraterprofile']. "\r\n";
$header = 'From:'.$_POST['vorname'].' '.$_POST['nachname'].'<'.$_POST['email'].'>' . "\r\n";
$header .= 'Reply-To: '.$_POST['email']. "\r\n";
$header .= 'X-Mailer: PHP/' . phpversion();
$text=utf8\_decode($nachricht\_text);
$headertext=utf8\_decode($header);
mail($empfaenger, $betreff, $text, $headertext);
}
?>