我有一个网站。在这个网站上,我有一个联系人页面,其中包含姓名,电子邮件,电话和问题输入文本。它应该检查必填字段,如果填写,用户可以提交电子邮件。它既不检查必填字段也不发送电子邮件。只需回发到主页。我怎样才能解决这个问题?
以下是联系人页面提交的示例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);
?>
最诚挚的问候。
答案 0 :(得分:0)
您的页面出错了
"Uncaught TypeError: $(...).kenburnsy is not a function"
我认为你缺少该插件的引用,这会破坏你的init.js邮件功能。