提交时无法发送电子邮件?

时间:2015-11-24 15:20:44

标签: jquery twitter-bootstrap

我有一个网站。在这个网站上,我有一个联系人页面,其中包含姓名,电子邮件,电话和问题输入文本。它应该检查必填字段,如果填写,用户可以提交电子邮件。它既不检查必填字段也不发送电子邮件。只需回发到主页。我怎样才能解决这个问题?

以下是联系人页面提交的示例init.js:

$(document).ready(function() {
  "use strict";
  $("#contactForm .error").remove();
  var e = $("#contactForm");
  var t = $("#contactForm_submit");
  var n = $(".successMsg");
  e.on("submit", function(r) {
    var i = false;
    $(".required").each(function() {
      if(jQuery.trim($(this).val()) === "") {
        $(this).parent().append('<span class="error"><i class="fa fa-exclamation-triangle"></i></span>');
        i = true
      } else if($(this).hasClass("email")) {
        var e = /^([\w-\.]+@([\w]+\.)+[\w]{2,4})?$/;
        if(!e.test(jQuery.trim($(this).val()))) {
          $(this).parent().append('<span class="error"><i class="fa fa-exclamation-triangle"></i></span>');
          i = true
        }
      }
    });
    if(!i) {
      r.preventDefault();
      $.ajax({
        url: "js/inc/sendemail.php",
        type: "POST",
        dataType: "html",
        data: e.serialize(),
        beforeSend: function() {
          n.fadeOut();
          t.html("Sending....")
        },
        success: function(t) {
          e.fadeOut(300);
          n.html(t).fadeIn(1e3);
          setTimeout(function() {
            n.html(t).fadeOut(300);
            $("#formName, #formEmail,#phone, #message").val("");
            e.fadeIn(1800)
          }, 4e3)
        },
        error: function(e) {
          console.log(e)
        }
      });
      $(".required").val("")
    }
    return false
  });
  $("#contactForm input").focus(function() {
    $("#contactForm .error").remove()
  });
  $("#contactForm textarea").focus(function() {
    $("#contactForm .error").remove()
  })
})

演示网站为www.ioterm.com您可以通过底部链接导航至联系人。

编辑1:正如我所说,我删除了所有angularjs并用jquery-lang.js替换它。 (https://github.com/irrelon/jquery-lang-js)但即使不检查必填字段,我仍然无法发送邮件!

edit2:这是php文件:

<?php

$name = $_REQUEST['name'];
$email = $_REQUEST['email'];
$message = $_REQUEST['message'];
$name = strtolower($name);
$name = ucwords($name);

$to = 'test@gmail.com';
$subject = 'Website message from: '.$name;
$message = 'FROM: '.$name." \nEmail: ".$email."\nMessage: \n".$message;


$send = mail($to, $subject, $message);

?>

最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

您的页面出错了

"Uncaught TypeError: $(...).kenburnsy is not a function"

我认为你缺少该插件的引用,这会破坏你的init.js邮件功能。