Javascript HTML/JS联系人表单未发送或显示错误消息

Javascript HTML/JS联系人表单未发送或显示错误消息,javascript,php,html,contact-form,Javascript,Php,Html,Contact Form,我有一个联系方式,我似乎无法发送到我的Gmail帐户。它与我见过的所有联系人表单不同,因为错误消息在HTML中。按下提交按钮时不会发生任何事情(没有电子邮件、错误或成功消息)。请温柔一点,因为我对PHP有些陌生。我只是需要一些帮助 HTML文件 <div class="contactForm"> <div class="successMessage alert alert-success alert-dismissable" style="display: no

我有一个联系方式,我似乎无法发送到我的Gmail帐户。它与我见过的所有联系人表单不同,因为错误消息在HTML中。按下提交按钮时不会发生任何事情(没有电子邮件、错误或成功消息)。请温柔一点,因为我对PHP有些陌生。我只是需要一些帮助

HTML文件

<div class="contactForm">
        <div class="successMessage alert alert-success alert-dismissable" style="display: none">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            Thank You! E-mail was sent.
          </div>
          <div class="errorMessage alert alert-danger alert-dismissable" style="display: none">
            <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
            Oops! An error occured. Please try again later.
          </div>

          <form class="liveForm" role="form" action="form/send.php" method="post" data-email-subject="Contact Form" data-show-errors="true" data-hide-form="false">
            <fieldset>
              <div class="row">
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Name <span>(Required)</span></label>
                    <input type="text" required name="field[]" class="form-control">
                  </div>
                </div>
                <div class="col-md-6">
                  <div class="form-group">
                    <label class="control-label">Email <span>(Required)</span></label>
                    <input type="email" required name="field[]" class="form-control">
                  </div>
                </div>
              </div>
              <div class="row">
                <div class="col-md-12">
                  <div class="form-group">
                    <label class="control-label">Subject</label>
                    <input type="text" name="field[]" class="form-control">
                  </div>
                </div>
              </div>
              <div class="row">
                <div class="col-md-12">
                  <div class="form-group">
                    <label class="control-label">Message <span>(Required)</span></label>
                    <textarea name="field[]" required class="form-control" rows="5"></textarea>
                  </div>
                </div>
              </div>
              <input type="submit" class="btn btn-primary" value="Send Message">
            </fieldset>
          </form>

        </div>
      </div>

&时代;
非常感谢。已发送电子邮件。
&时代;
哎呀!发生了一个错误。请稍后再试。
姓名(必填)
电子邮件(必需)
主题
信息(必需)
JS

/**
 * Contact Form
 */
jQuery(document).ready(function ($) {
    "use strict";
    $ = jQuery.noConflict();

    var debug = false; //show system errors

    $('.liveForm').submit(function () {
        var $f = $(this);
        var showErrors = $f.attr('data-show-errors') == 'true';
        var hideForm = $f.attr('data-hide-form') == 'true';

        var emailSubject = $f.attr('data-email-subject');

        var $submit = $f.find('[type="submit"]');

        //prevent double click
        if ($submit.hasClass('disabled')) {
            return false;
        }

        $('[name="field[]"]', $f).each(function (key, e) {
            var $e = $(e);
              var p = $e.parent().find("label").text();

            if (p) {
                var t = $e.attr('required') ? '[required]' : '[optional]';
                var type = $e.attr('type') ? $e.attr('type') : 'unknown';
                t = t + '[' + type + ']';

                var n = $e.attr('name').replace('[]', '[' + p + ']');

                n = n + t;
                $e.attr('data-previous-name', $e.attr('name'));
                $e.attr('name', n);
            }
        });

        $submit.addClass('disabled');

        $f.append('<input class="temp" type="hidden" name="email_subject" value="' + emailSubject + '">');

        $.ajax({
            url: $f.attr('action'),
            method: 'post',
            data: $f.serialize(),
            dataType: 'json',
            success: function (data) {
                $('span.error', $f).remove();
                $('.error', $f).removeClass('error');
                $('.form-group', $f).removeClass('has-error');

                if (data.errors) {
                    $.each(data.errors, function (i, k) {
                        var input = $('[name^="' + i + '"]', $f).addClass('error');
                        if (showErrors) {
                            input.after('<span class="error help-block">' + k + '</span>');
                        }

                        if (input.parent('.form-group')) {
                            input.parent('.form-group').addClass('has-error');
                        }
                    });
                } else {
                    var item = data.success ? '.successMessage' : '.errorMessage';
                    if (hideForm) {
                        $f.fadeOut(function () {
                            $f.parent().find(item).show();
                        });
                    } else {
                        $f.parent().find(item).fadeIn();
                        $f[0].reset();
                    }
                }

                $submit.removeClass('disabled');
                cleanupForm($f);
            },
            error: function (data) {
                if (debug) {
                    alert(data.responseText);
                }
                $submit.removeClass('disabled');
                cleanupForm($f);
            }
        });

        return false;
    });

    function cleanupForm($f) {
        $f.find('.temp').remove();

        $f.find('[data-previous-name]').each(function () {
            var $e = jQuery(this);
            $e.attr('name', $e.attr('data-previous-name'));
            $e.removeAttr('data-previous-name');
        });
    }
});
/**
*联系方式
*/
jQuery(文档).ready(函数($){
“严格使用”;
$=jQuery.noConflict();
var debug=false;//显示系统错误
$('.liveForm')。提交(函数(){
var$f=$(本);
var-showErrors=$f.attr('data-show-errors')=='true';
var hideForm=$f.attr('data-hide-form')=='true';
var emailSubject=$f.attr('data-email-subject');
var$submit=$f.find('[type=“submit”]');
//防止双击
if($submit.hasClass('disabled')){
返回false;
}
$('[name=“field[]”,$f)。每个(函数(键,e){
var$e=$(e);
var p=$e.parent().find(“label”).text();
如果(p){
var t=$e.attr('required')?“[required]”:“[optional]”;
变量类型=$e.attr('type')?$e.attr('type'):'unknown';
t=t+'['+type+']';
变量n=$e.attr('name')。替换('[]','['+p+']');
n=n+t;
$e.attr('data-previous-name',$e.attr('name');
$e.attr('名称',n);
}
});
$submit.addClass('disabled');
$f.append(“”);
$.ajax({
url:$f.attr('action'),
方法:“post”,
数据:$f.serialize(),
数据类型:“json”,
成功:功能(数据){
$('span.error',$f).remove();
$('.error',$f).removeClass('error');
$('.form group',$f).removeClass('has-error');
if(data.errors){
$.each(数据错误,函数(i,k){
变量输入=$('[name^=“'+i+'”],$f).addClass('error');
如果(错误){
输入后(“”+k+“”);
}
if(input.parent('.formgroup')){
input.parent('.formgroup').addClass('has-error');
}
});
}否则{
var item=data.success?'.successMessage':'.errorMessage';
if(hideForm){
$f.fadeOut(函数(){
$f.parent().find(item.show();
});
}否则{
$f.parent().find(item.fadeIn();
$f[0]。重置();
}
}
$submit.removeClass('disabled');
清理表格(f美元);
},
错误:函数(数据){
如果(调试){
警报(data.responseText);
}
$submit.removeClass('disabled');
清理表格(f美元);
}
});
返回false;
});
函数清理表单($f){
$f.find('.temp').remove();
$f.find(“[数据以前的名称]”)。每个(函数(){
var$e=jQuery(本);
$e.attr('name'),$e.attr('data-previous-name');
$e.removeAttr('data-previous-name');
});
}
});
PHP

<?php
// Contact subject
$name = $_POST['name'];
$email = $_POST['email'];
$subject = $_POST['subject'];
$message = $_POST['message'];
// Enter your email address
$to ='divagraphicsinc@gmail.com';
$send_contact=mail($to,$subject,$message,$header);
?>

Subject=isset($\u请求['email\u Subject'])$_请求['email_subject']:“来自站点的消息”;
//如果需要,让我们验证并返回错误
$data=$mail->validateDynamic(数组('required\u error'=>$requiredMessage,'email\u error'=>$invalidEmail),$\u请求);
如果($data['errors'])){
echo json_编码(数组('errors'=>$data['errors']);
出口
}
$html='1
' . $邮件->主题。“
    '; foreach($data['fields']作为$label=>$val){ $html.='
  • '.$label'.$val'.
  • '; } $html.='
'; $mail->setup($html,$\请求,数组()); $result=array('success'=>1); 如果(!$mail->Send()){ $result['success']=0; } echo json_编码($result); 出口
当您使用post方法时,它不应该类似于$name=$\u post['name'];在你的send.php上??还是我遗漏了什么?/我想这是有道理的。lolI已经将PHP更新为POST,但它仍然没有给我任何东西。它应该像这样工作。这就是我得到它的主题。但是,他们没有提供PHP。链接:
<?php
$ajax = (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
$ajax = true;
//we do not allow direct script access
if (!$ajax) {
    //redirect to contact form
    echo "Please enable Javascript";
    exit;
}
require_once "config.php";

//we set up subject
$mail->Subject = isset($_REQUEST['email_subject']) ? $_REQUEST['email_subject'] : "Message from site";

//let's validate and return errors if required
$data = $mail->validateDynamic(array('required_error' => $requiredMessage, 'email_error' => $invalidEmail), $_REQUEST);

if ($data['errors']) {
    echo json_encode(array('errors' => $data['errors']));
    exit;
}

$html = '<div style="width: 640px; font-size: 11px;">
  <h2>' . $mail->Subject . '</h2><ul>
';

foreach ($data['fields'] as $label => $val) {
    $html .= '<li>' . $label . ': ' . $val . '</li>';
}

$html .= '</ul></div>';

$mail->setup($html, $_REQUEST, array());

$result = array('success' => 1);
if (!$mail->Send()) {
    $result['success'] = 0;
}

echo json_encode($result);
exit;