2015-07-19 19 views
0

我有以下代碼,除了一件小事情以外很好。如果輸入了一個無效的電子郵件,PHP的else語句會進入響應中,並且與我當前的響應樣式類相似,它看起來好像已被批准。獲取一個else語句並將其添加到一個AJAX調用函數(響應)

所以,我想知道是否有任何地方可以用我當前的代碼創建一個else語句,並從PHP中拉出else響應。如果是這樣,我該怎麼做?

<div id="contactMessageStatus"></div> 
    <div class="contactForm"> 
     <form action="" method="post" id="mycontactform" > 
      <input type="text" class="inputbar" name="name" placeholder="Full Name" required> 
      <input type="email" class="inputbaremail" name="email" placeholder="Email" required> 
      <textarea rows="4" cols="50" name="message" class="inputbarmessage" placeholder="Message" required></textarea> 
      <input type="button" class="contactButton" value="Send Message" id="submit"> 
     </form> 
    </div> 

AJAX

<script> 
    $(document).ready(function(){ 

    $('#submit').click(function(){ 

    $.post("contactSend.php", $("#mycontactform").serialize(), function(response) { 
    $('#contactMessageStatus').append(response); 
    $('#contactMessageStatus').addClass("contactSuccess"); 
    $('html, body').animate({ 
     scrollTop: $("#contactMessageStatus").offset().top 
    }, 2000); 
    $('#contactMessageStatus').html(response); 
    $('#contactMessageStatus').delay(5500).fadeOut(400); 
    }); 
    return false; 
    }); 
    }); 
</script> 

PHP文件,以顯示呼應responces:基於問題的意見

<?php 
$name = $_POST['name']; 
$email = $_POST['email']; 
$message = $_POST['message']; 

$to = '[email protected]'; 
$subject = 'SFL Contact Form Submitted'; 
$message = 'FROM: '.$name. ' ' . ' Email: '.$email. ' ' . 'Message: '.$message; 
$headers = 'From: [email protected]' . "\r\n"; 

if (filter_var($email, FILTER_VALIDATE_EMAIL)) { // this line checks that we have a valid email address 
mail($to, $subject, $message, $headers); //This method sends the mail. 
echo "Your email was sent!"; // success message 
}else{ 
echo "Invalid Email, please provide an correct email."; 
} 
?> 
+0

你需要檢查的響應'.post –

+0

的函數(響應)'我如何檢查它?我剛剛開始學習JS,所以不是最好的。 – Paul

回答

1

$(document).ready(function(){ 

    $('#submit').click(function(){ 

     $.post("contactSend.php", $("#mycontactform").serialize(), function(response) { 
      if (response == 'Your email was sent!') { 
       $('#contactMessageStatus').append(response); 
       $('#contactMessageStatus').addClass("contactSuccess"); 
       $('html, body').animate({ 
        scrollTop: $("#contactMessageStatus").offset().top 
       }, 2000); 
       $('#contactMessageStatus').html(response); 
       $('#contactMessageStatus').delay(5500).fadeOut(400); 
      } 
      else { 
       // whatever error handling you want goes here 
      } 
     }); 
     return false; 
    }); 
}); 
+0

完美!我不知道這會很簡單。謝謝您的幫助! – Paul

相關問題