Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我点击提交按钮时,我的电子邮件没有发送为什么?_Javascript_Php_Jquery - Fatal编程技术网

Javascript 当我点击提交按钮时,我的电子邮件没有发送为什么?

Javascript 当我点击提交按钮时,我的电子邮件没有发送为什么?,javascript,php,jquery,Javascript,Php,Jquery,当我点击submit按钮时,它会显示来自javascript文件的消息,但不会转到我生成的php文件 这是我的html代码 <form method="post" id="contactForm" action="email_send.php"> <div class="clearfix"> <div class="grid_6 alpha fll"> <input type="te

当我点击submit按钮时,它会显示来自javascript文件的消息,但不会转到我生成的php文件

这是我的html代码

<form method="post" id="contactForm" action="email_send.php">
        <div class="clearfix">
            <div class="grid_6 alpha fll">
                <input type="text" name="senderName" id="senderName" placeholder="Name *" class="requiredField" />
            </div>
            <div class="grid_6 omega flr">
                <input type="text" name="senderEmail" id="senderEmail" placeholder="Email Address *" class="requiredField email" />
            </div>
        </div>
        <div>
            <textarea name="message" id="message" placeholder="Message *" class="requiredField"></textarea>
        </div>
        <input type="submit" id="sendMessage" name="sendMessage" value="Send Email" />
    <span>  </span>
</form><!-- end form -->

我的js文件

if ($("#contactForm")[0]) {
    $('#contactForm').submit(function () {
        $('#contactForm .error').remove();
        $('#contactForm .requiredField').removeClass('fielderror');
        $('#contactForm .requiredField').addClass('fieldtrue');
        $('#contactForm span strong').remove();
        var hasError = false;
        $('#contactForm .requiredField').each(function () {
            if (jQuery.trim($(this).val()) === '') {
                var labelText = $(this).prev('label').text();
                $(this).addClass('fielderror');
                $('#contactForm span').html('<strong>*Please fill out all fields.</strong>');
                hasError = true;
            } else if ($(this).hasClass('email')) {
                var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
                if (!emailReg.test(jQuery.trim($(this).val()))) {
                    var labelText = $(this).prev('label').text();
                    $(this).addClass('fielderror');
                    $('#contactForm span').html('<strong>Is incorrect your email address</strong>');
                    hasError = true;
                }
            }
        });
        if (!hasError) {
            $('#contactForm').slideDown('normal', function () {
                $("#contactForm #sendMessage").addClass('load-color');
                $("#contactForm #sendMessage").attr("disabled", "disabled").addClass("btn-success").val('Sending message. Please wait...');
            });
            var formInput = $(this).serialize();
            $.post($(this).attr('action'), formInput, function (data) {
                $('#contactForm').slideUp("normal", function () {
                    $(this).before('<div class="notification-box notification-box-success"><p><i class="fa fa-check"></i>Thanks!</strong> Your email was successfully sent. We check Our email all the time.</p></div>');
                });
            });
        }
        return false;
    });
}
if($(“#contactForm”)[0]){
$('#contactForm')。提交(函数(){
$('#contactForm.error').remove();
$('#contactForm.requiredField').removeClass('fielderror');
$('#contactForm.requiredField').addClass('fieldtrue');
$(“#contactForm span strong”).remove();
var hasError=false;
$('#contactForm.requiredField')。每个(函数(){
if(jQuery.trim($(this.val())=''){
var labelText=$(this.prev('label').text();
$(this.addClass('fielderror');
$(“#contactForm span').html(“*请填写所有字段。”);
hasrerror=true;
}else if($(this).hasClass('email')){
var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(!emailReg.test(jQuery.trim($(this.val()))){
var labelText=$(this.prev('label').text();
$(this.addClass('fielderror');
$(“#contactForm span').html(“不正确,您的电子邮件地址不正确”);
hasrerror=true;
}
}
});
如果(!hasError){
$('#contactForm')。向下滑动('normal',函数(){
$(“#contactForm#sendMessage”).addClass('load-color');
$(“#contactForm#sendMessage”).attr(“disabled”、“disabled”).addClass(“btn success”).val(“正在发送消息。请稍候…”);
});
var formInput=$(this.serialize();
$.post($(this).attr('action')、formInput、函数(数据){
$(“#contactForm”).slideUp(“正常”,函数(){
$(此)。之前(“谢谢!您的电子邮件已成功发送。我们一直检查我们的电子邮件。

”); }); }); } 返回false; }); }
我在action上编写的php文件是

<?php 

if(isset($_POST['senderName']) && isset($_POST['senderEmail']) && isset($_POST['message']) )
{

    $senderName = $_POST['senderName'];
    $senderEmail = $_POST['senderEmail'];
    $message = $_POST['message'];

    if(!empty($senderName) && !empty($senderEmail) && !empty($message))
    {
        if(strlen($senderName)>25 || strlen($senderEmail)>25 || strlen($message)>50 )
        {
            echo 'Maximum length reached for each field';
        } 
        else
        {
            $to = 'info@courtpiece.com';
            $subject = 'Court Piece Rung';
            $body = "Name:".$senderName."\n"."Message: ".$message;
            $header = 'From'.$senderEmail;

            if(@mail($to,$subject,$body,$header))
            {
                echo 'Thanks for Contacting Us.We\'ll in touch soon. ';
            }
            else
            {
                echo 'Sorry an error occured ';
            }
        }
    }
    else
    {
        echo 'All fields are required. ';
    }       
}

您需要取消表单的默认行为,以便它不会同时向服务器发送请求。您可以通过调用事件参数的prevendDefault函数来完成此操作

if($(“#contactForm”)[0]){
$(#contactForm')。提交(功能(e){
e、 preventDefault();//要禁止窗体的行为->您将使用$.post手动发送数据
$('#contactForm.error').remove();
$('#contactForm.requiredField').removeClass('fielderror');
$('#contactForm.requiredField').addClass('fieldtrue');
$(“#contactForm span strong”).remove();
var hasError=false;
$('#contactForm.requiredField')。每个(函数(){
if(jQuery.trim($(this.val())=''){
var labelText=$(this.prev('label').text();
$(this.addClass('fielderror');
$(“#contactForm span').html(“*请填写所有字段。”);
hasrerror=true;
}else if($(this).hasClass('email')){
var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(!emailReg.test(jQuery.trim($(this.val()))){
var labelText=$(this.prev('label').text();
$(this.addClass('fielderror');
$(“#contactForm span').html(“不正确,您的电子邮件地址不正确”);
hasrerror=true;
}
}
});
如果(!hasError){
$('#contactForm')。向下滑动('normal',函数(){
$(“#contactForm#sendMessage”).addClass('load-color');
$(“#contactForm#sendMessage”).attr(“disabled”、“disabled”).addClass(“btn success”).val(“正在发送消息。请稍候…”);
});
var formInput=$(this.serialize();
$.post(“email_send.php”),formInput,函数(数据){
$(“#contactForm”).slideUp(“正常”,函数(){
$(此)。之前(“谢谢!您的电子邮件已成功发送。我们一直检查我们的电子邮件。

”); }); }); } 返回false; }); }
我必须说,你建立这种验证的方式还有改进的余地。 尝试使用我添加的内容再次运行表单


返回报告!

有时这会造成问题。。 您正在使用:
if(isset($\u POST['senderName'])和&isset($\u POST['senderEmail'])和&isset($\u POST['message']){

而不是:

if(isset($_POST['sendMessage'])){
if(!empty($_POST['senderName']) && !empty($_POST['senderEmail'])){

CODE HERE
}
} 
如果没有,那么您可能会错过确认您的电子邮件发送服务。 尝试对电子邮件发送进行测试。
mail()

在哪个地方我需要这个@mplungjan@mplungjan当我单击“提交”按钮时,它将向我显示此消息“>谢谢!您的电子邮件已成功发送。我们一直在检查我们的电子邮件。”但是它不会重定向到php文件,邮件也不会发送。为什么要重定向?@mplungjan在哪一行之后我必须放置此内容??您不希望表单重定向您……您的$.post()调用php文件并给出结果
if(isset($_POST['sendMessage'])){
if(!empty($_POST['senderName']) && !empty($_POST['senderEmail'])){

CODE HERE
}
}