2015-02-18 7 views
0

У меня есть скрипт формы, который отправляет электронное письмо после его отправки. 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; 
 

 
    });

Спасибо за помощь заранее :)

+0

Вы пытаетесь отправить форму через AJAX, и все же страница загружается пустым? Это означало бы что-то не так с вашим Javascript. Что вы видите на консоли разработчика? – Simon

+0

Как узнать, что происходит в моем javascript? Я не вижу никаких ошибок. –

ответ

0

он показывает вам вашу пустую страницу PHP, потому что после отправки электронной почты должен перенаправить пользователя куда-то, возможно, с:

header('Location: http://www.example.com/'); 
exit; 

С уважением, Marcelo