2013-12-20 4 views
1

Я использую Mailer PHP после того, как почта отправлена ​​успешно, форма не очищается. Как изменить код, который делает форму, будет очищаться после успешного отправки сообщения?Mailer Форма PHP не очищается

и в поле «Адрес электронной почты вашего друга», как включить отправку электронной почты на несколько адресов электронной почты?

Большое спасибо :)

Вот HTML код

<form> 
     <input id="name" class="input-name" type="text" name="name" placeholder="Your name *" required /> 
     <input id="email" class="input-email" type="text" name="email" placeholder="Your email *" required /> 
     <input id="femail" class="input-email" type="text" name="femail" placeholder="Your Friend's email *" required /> 
     <input id="mysubject" class="input-subject" type="text" name="mysubject" placeholder="Subject *" required /> 
     <textarea id="comments" class="input-textarea" name="comments" placeholder="Your message *" required></textarea> 
     <div class="comment-active"> 
      <span>All fields are mandatory.</span> 
      <input id="email_submit" class="submit-button" type="submit" value="SEND MESSAGE"/> 
     </div> 
     <div class="email_success"> 
      <div id="reply_message" class="email_loading" ></div> 
     </div> 
    </form> 

электронная почта отправить Javascript

<script type="text/javascript"> 
     $("#email_submit").click(function() { 

      "use strict"; 

      $('#reply_message').removeClass(); 
      $('#reply_message').html('') 
      var regEx = ""; 

      // validate Name     
      var name = $("input#name").val(); 
      regEx=/^[A-Za-z .'-]+$/; 
      if (name == "" || name == "Name" || !regEx.test(name)) { 
       $("input#name").val(''); 
       $("input#name").focus(); 
       return true; 
      } 

      // validate Email       
      var email = $("input#email").val(); 
      regEx=/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;           
      if (email == "" || email == "Email" || !regEx.test(email)) { 
       $("input#email").val(''); 
       $("input#email").focus(); 
       return true; 
      } 

      // validate femail       
      var femail = $("input#femail").val(); 
      regEx=/^[A-Za-z0-9._%-][email protected][A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/;           
      if (femail == "" || femail == "Femail" || !regEx.test(femail)) { 
       $("input#femail").val(''); 
       $("input#femail").focus(); 
       return true; 
      } 

      // validate Subject    
      var mysubject = $("input#mysubject").val(); 
      regEx=/^[A-Za-z .'-]+$/; 
      if (mysubject == "" || mysubject == "Mysubject" || !regEx.test(mysubject)) { 
       $("input#mysubject").val(''); 
       $("input#mysubject").focus(); 
       return true; 
      } 

      // validate Comment   
      var comments = $("textarea#comments").val(); 
      if (comments == "" || comments == "Comments..." || comments.length < 2) { 
       $("textarea#comments").val(''); 
       $("textarea#comments").focus(); 
       return true; 
      } 

      var dataString = 'name='+ $("input#name").val() + '&email=' + $("input#email").val() + '&femail=' + $("input#femail").val() + '&mysubject='+ $("input#mysubject").val() + '&comments=' + $("textarea#comments").val();         
      $('#reply_message').addClass('email_loading'); 

      // Send form data to mailer.php 
      $.ajax({ 
       type: "POST", 
       url: "mailer.php", 
       data: dataString, 
       success: function() { 
        $('#reply_message').removeClass('email_loading'); 
        $('#reply_message').addClass('list3'); 
        $('#reply_message').html("Mail sent sucessfully") 
        .hide() 
        .fadeIn(1500); 
         } 
        }); 
      return false; 

     }); 

и вот PHP код

<?php if(isset($_POST['email'])) { 

// EDIT THE BELOW TWO LINES AS REQUIRED 
$email_to = $_POST['femail']; // required; 
$email_subject = "Message From XYZ"; 


function errorMesg() { 
    // Error code can go here 
    echo "We are very sorry, but there were error(s) found with the form you submitted. "; 
    echo "<br /><br />"; 
    echo "Please go back and fix these errors.<br /><br />"; 
    die(); 
} 

// validation expected data exists 
if(!isset($_POST['name']) || 
    !isset($_POST['email']) || 
    !isset($_POST['femail']) || 
    !isset($_POST['comments'])) { 
    errorMesg();  
} 

$name = $_POST['name']; // required 
$email_from = $_POST['email']; // required 
$mysubject = $_POST['mysubject']; // required 
$comments = $_POST['comments']; // required 

function clean_string($string) { 
    $bad = array("content-type","bcc:","to:","cc:","href"); 
    return str_replace($bad,"",$string); 
    $mail_ClearAddresses(); 
} 

$email_message .= "Name: ".clean_string($name)."\n"; 
$email_message .= "Email: ".clean_string($email_from)."\n"; 
$email_message .= "Subject: ".clean_string($mysubject)."\n"; 
$email_message .= "Comments: ".clean_string($comments)."\n"; 


// create email headers 
$headers = 'From: '.$email_from."\r\n". 
'Reply-To: '.$email_from."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
@mail($email_to, $email_subject, $email_message, $headers); 
?> 

ответ

0

mail возвращает bool, поэтому вы можете использовать его для тестирования в своем вызове ajax.

// create email headers 
$headers = 'From: '.$email_from."\r\n". 
'Reply-To: '.$email_from."\r\n" . 
'X-Mailer: PHP/' . phpversion(); 
echo json_encode(array('success' => mail($email_to, $email_subject, $email_message, $headers)); 

затем обратно в JavaScript

 // Send form data to mailer.php 
     $.ajax({ 
      type: "POST", 
      url: "mailer.php", 
      data: dataString, 
      success: function(data) { 
      if(data.success) { 
       // reset your form here 
      } 
      $('#reply_message').removeClass('email_loading'); 
       $('#reply_message').addClass('list3'); 
       $('#reply_message').html("Mail sent sucessfully") 
       .hide() 
       .fadeIn(1500); 
        } 
       }); 
0

Чтобы очистить форму, вы можете просто перезагрузить страницу или использовать эту JQuery, чтобы очистить все элементы ввода.

$(this).closest('form').find("input[type=text], textarea").val("");