У меня есть скрипт формы, который отправляет электронное письмо после его отправки. Javascript удаляет форму после ее отправки.Пустая страница после отправки формы (PHP и Javascript)
Но когда я отправляю свою форму, он показывает мне пустой .php-файл.
Heres мой index.html код:
<!--Here is container with email subscription-->
<div class="container-fluid yellow-container bg-mail">
\t <div class="row-fluid">
\t \t <div class="span12">
\t \t <h2>Laat hier je email adres achter, zodat wij weten dat je van de partij bent</h2>
\t \t <p>Deze uitnodiging geldt voor jou en een relatie!</p>
<form action="save.php" id="subscribe-form" method="post" name="subscribe-form">
<input type="email" name="email" placeholder="Hier je emailadres" id="email" class="email required">
<button class="btn btn-inverse" id="submit" type="submit" value="Subscribe">Count me in!</button>
</form>
</div>
</div>
</div>
код save.php:
<?php
if (isset($_POST['email'])) {
//Email information
$admin_email = "[email protected]";
$email = $_POST['email'];
//send email
mail($admin_email, "Inschrijving via Dukdalf", $email . " " . "heeft zich ingeschreven via de website", "Van:" . $email);
}
?>
Javascript код:
//Subscribe Form
if($('#subscribe-form').length && jQuery()) {
$('form#subscribe-form').submit(function() {
$('form#subscribe-form .error').remove();
var hasError = false;
$('.required').each(function() {
if(jQuery.trim($(this).val()) === '') {
var labelText = $(this).prev('label').text();
$(this).parent().append('<div class="error">Vul a.u.b. uw email in.'+labelText+'</div>');
$(this).addClass('inputError');
hasError = true;
} else if($(this).hasClass('email')) {
var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
if(!emailReg.test(jQuery.trim($(this).val()))) {
var labelText = $(this).prev('label').text();
$(this).parent().append('<div class="error">Vul a.u.b. een geldig email in.'+labelText+'</div>');
$(this).addClass('inputError');
hasError = true;
}
}
});
if(!hasError) {
$('form#subscribe-form input.submit').fadeOut('normal', function() {
$(this).parent().append('');
});
var formInput = $(this).serialize();
$.post($(this).attr('action'),formInput, function(data){
$('form#subscribe-form').slideUp("fast", function() {
$(this).before('<div class="error">Bedankt voor het inschrijven!</div>');
});
});
}
return false;
});
Спасибо за помощь заранее :)
Вы пытаетесь отправить форму через AJAX, и все же страница загружается пустым? Это означало бы что-то не так с вашим Javascript. Что вы видите на консоли разработчика? – Simon
Как узнать, что происходит в моем javascript? Я не вижу никаких ошибок. –