简体   繁体   中英

Mailer PHP form is not clearing

I'm using Mailer PHP, after the mail is sent successfully the form is not clearing. How to modify code that make the form will clear after the message sent successfully?

and in "Your Friend's email" field box, how do I enable sending e-mail to multiple e-mail address?

Thank you very much :)

Here's HTML code

    <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>

email submit 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._%-]+@[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._%-]+@[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;

        });

and here's PHP code

<?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);
?>

mail returns a bool so you can use it to test in your ajax call.

// 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) );

then back in your 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);
                    }
                });

要清除表单,您可以简单地重新加载页面或使用此jQuery清除所有输入元素。

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM