Forms jQuery/Ajax表单成功消息
我在一个网站上有几个表单,控制它们的脚本没有包含成功消息,所以当它们提交时,输入数据就消失了,用户不知道它是否真的被发送了。我已经四处寻找了一些答案,但是因为这个文件控制着一个电子邮件提交表单、一个联系表单和一个推特提要,所以我有点想知道是什么 这是代码,我只想让用户知道,他们的邮件已通过电子邮件输入表单和联系表单发送。我非常感谢任何人的帮助Forms jQuery/Ajax表单成功消息,forms,jquery,Forms,Jquery,我在一个网站上有几个表单,控制它们的脚本没有包含成功消息,所以当它们提交时,输入数据就消失了,用户不知道它是否真的被发送了。我已经四处寻找了一些答案,但是因为这个文件控制着一个电子邮件提交表单、一个联系表单和一个推特提要,所以我有点想知道是什么 这是代码,我只想让用户知道,他们的邮件已通过电子邮件输入表单和联系表单发送。我非常感谢任何人的帮助 $(document).ready(function() { //Set default hint if nothing is entered setHi
$(document).ready(function() {
//Set default hint if nothing is entered
setHints();
//Bind JavaScript event on SignUp Button
$('#signUp').click(function(){
signUp($('#subscribe').val());
});
//Bind JavaScript event on Send Message Button
$('#sendMessage').click(function(){
if(validateInput()){
sendMail();
}else
{
alert('Please fill all fields to send us message.');
}
});
//Load initial site state (countdown, twitts)
initialize();
});
var setHints = function()
{
$('#subscribe').attachHint('Enter your email to be notified when more info is available');
$('[name=contact_name]').attachHint('Name');
$('[name=contact_email]').attachHint('Email');
$('[name=contact_subject]').attachHint('Subject');
$('[name=contact_message]').attachHint('Message');
};
var signUp = function(inputEmail)
{
var isValid = true;
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(!emailReg.test(inputEmail)){
isValid = false;
alert('Your email is not in valid format');
}
if(isValid){
var params = {
'action' : 'SingUp',
'email' : inputEmail
};
$.ajax({
type: "POST",
url: "php/mainHandler.php",
data: params,
success: function(response){
if(response){
var responseObj = jQuery.parseJSON(response);
if(responseObj.ResponseData)
{
$('#subscribe').val('');
}
}
}
});
}
};
var initialize = function()
{
var params = {
'action' : 'Initialize'
};
$.ajax({
type: "POST",
url: "php/mainHandler.php",
data: params,
success: function(response){
if(response){
var responseObj = jQuery.parseJSON(response);
if(responseObj.ResponseData)
{
$('ul.twitts').empty();
if(responseObj.ResponseData.Twitts){
$('a.followUsURL').attr('href','http://twitter.com/#!/'+responseObj.ResponseData.Twitts[0].Name);
$.each(responseObj.ResponseData.Twitts, function(index, twitt){
var twitterTemplate = '<li>'
+ '<a href="http://twitter.com/#!/{0}/status/{1}" target="_blank" class="twittURL">#{0}</a>'
+ '{2}'
+ '<span class="time">{3}</span>'
+ '</li>';
$('ul.twitts').append(StringFormat(twitterTemplate, twitt.Name, twitt.StatusID, twitt.Text, twitt.Date));
});
}
if(responseObj.ResponseData.Start_Date)
{
setInterval(function(){
var countDownObj = calculateTimeDifference(responseObj.ResponseData.Start_Date);
if(countDownObj){
$('#days').text(countDownObj.Days);
$('#hours').text(countDownObj.Hours);
$('#minutes').text(countDownObj.Minutes);
$('#seconds').text(countDownObj.Seconds);
}
}, 1000);
}
}
}
}
});
};
var validateInput = function(){
var isValid = true;
$('input, textarea').each(function(){
if($(this).hasClass('required'))
{
if($(this).val()!=''){
if($(this).hasClass('email'))
{
var emailReg = /^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
if(!emailReg.test($(this).val())){
isValid = false;
alert('Your email is not in valid format');
}
}
}else
{
isValid = false;
}
}
});
return isValid;
};
var resetInput = function(){
$('input, textarea').each(function() {
$(this).val('').text('');
});
};
var sendMail = function(){
var params = {
'action' : 'SendMessage',
'name' : $('[name=contact_name]').val(),
'email' : $('[name=contact_email]').val(),
'subject' : $('[name=contact_subject]').val(),
'message' : $('[name=contact_message]').val()
};
$.ajax({
type: "POST",
url: "php/mainHandler.php",
data: params,
success: function(response){
if(response){
var responseObj = jQuery.parseJSON(response);
if(responseObj.ResponseData)
$('label.sendingStatus').text(responseObj.ResponseData);
}
resetInput();
$('#sendMail').removeAttr('disabled');
},
error: function (xhr, ajaxOptions, thrownError){
//xhr.status : 404, 303, 501...
var error = null;
switch(xhr.status)
{
case "301":
error = "Redirection Error!";
break;
case "307":
error = "Error, temporary server redirection!";
break;
case "400":
error = "Bad request!";
break;
case "404":
error = "Page not found!";
break;
case "500":
error = "Server is currently unavailable!";
break;
default:
error ="Unespected error, please try again later.";
}
if(error){
$('label.sendingStatus').text(error);
}
}
});
};
var calculateTimeDifference = function(startDate) {
var second = 1000;
var minute = second * 60;
var hour = minute * 60;
var day = hour * 24;
var seconds = 0;
var minutes = 0;
var hours = 0;
var days = 0;
var currentDate = new Date();
startDate = new Date(startDate);
var timeCounter = startDate - currentDate;
if (isNaN(timeCounter))
{
return NaN;
}
else
{
days = Math.floor(timeCounter / day);
timeCounter = timeCounter % day;
hours = Math.floor(timeCounter / hour);
timeCounter = timeCounter % hour;
minutes = Math.floor(timeCounter / minute);
timeCounter = timeCounter % minute;
seconds = Math.floor(timeCounter / second);
}
var tDiffObj = {
"Days" : days,
"Hours" : hours,
"Minutes" : minutes,
"Seconds" : seconds
};
return tDiffObj;
};
var StringFormat = function() {
var s = arguments[0];
for (var i = 0; i < arguments.length - 1; i++) {
var regExpression = new RegExp("\\{" + i + "\\}", "gm");
s = s.replace(regExpression, arguments[i + 1]);
}
return s;
}
$(文档).ready(函数(){
//如果未输入任何内容,则设置默认提示
sethits();
//注册时绑定JavaScript事件按钮
$(“#注册”)。单击(函数(){
注册($('#subscribe').val());
});
//发送消息按钮上绑定JavaScript事件
$('#sendMessage')。单击(函数(){
if(validateInput()){
sendMail();
}否则
{
警报('请填写所有字段以向我们发送消息');
}
});
//加载初始站点状态(倒计时,twitts)
初始化();
});
var setHints=函数()
{
$(“#订阅”).attachHint('输入您的电子邮件以便在获得更多信息时收到通知');
$('[name=contact_name]')。附件('name');
$('[name=contact_email]')。附件('email');
$('[name=contact_subject]')。附件('subject');
$('[name=contact_message]')。附件('message');
};
var signUp=函数(输入电子邮件)
{
var isValid=true;
var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
如果(!emailReg.test(inputEmail)){
isValid=false;
警报(“您的电子邮件格式无效”);
}
如果(有效){
变量参数={
'行动':'SingUp',
“电子邮件”:输入电子邮件
};
$.ajax({
类型:“POST”,
url:“php/mainHandler.php”,
数据:params,
成功:功能(响应){
如果(答复){
var responseObj=jQuery.parseJSON(响应);
if(responseObj.ResponseData)
{
$('订阅').val('');
}
}
}
});
}
};
var initialize=函数()
{
变量参数={
“操作”:“初始化”
};
$.ajax({
类型:“POST”,
url:“php/mainHandler.php”,
数据:params,
成功:功能(响应){
如果(答复){
var responseObj=jQuery.parseJSON(响应);
if(responseObj.ResponseData)
{
$('ul.twitts').empty();
if(responseObj.ResponseData.Twitts){
$('a.followUsURL').attr('href','http://twitter.com/#!/“+responseObj.ResponseData.Twitts[0].Name);
$.each(responseObj.ResponseData.Twitts,函数(索引,twitt){
var twitterTemplate=''
+ ''
+ '{2}'
+ '{3}'
+“ ”;
$('ul.twitts').append(StringFormat(twitterTemplate,twitt.Name,twitt.StatusID,twitt.Text,twitt.Date));
});
}
if(应答BJ.ResponseData.Start_日期)
{
setInterval(函数(){
var countDownObj=计算中间差异(responseObj.ResponseData.Start_Date);
如果(倒计时对象){
$(“#天”).text(countDownObj.days);
$('小时').text(countDownObj.hours);
$(“#分钟”).text(countDownObj.minutes);
$(“#秒”).text(countDownObj.seconds);
}
}, 1000);
}
}
}
}
});
};
var validateInput=函数(){
var isValid=true;
$('input,textarea')。每个(函数(){
if($(this).hasClass('required'))
{
if($(this.val()!=“”){
if($(this).hasClass('email'))
{
var emailReg=/^([\w-\.]+@([\w-]+\.)+[\w-]{2,4})?$/;
如果(!emailReg.test($(this.val())){
isValid=false;
警报(“您的电子邮件格式无效”);
}
}
}否则
{
isValid=false;
}
}
});
返回有效;
};
var resetInput=函数(){
$('input,textarea')。每个(函数(){
$(this.val(“”).text(“”);
});
};
var sendMail=函数(){
变量参数={
“操作”:“发送消息”,
'name':$('[name=contact_name]')。val(),
'email':$('[name=contact_email]')。val(),
'主题':$('[name=contact_subject]')。val(),
'message':$('name=contact_message]')。val()
};
$.ajax({
类型:“POST”,
url:“php/mainHandler.php”,
数据:params,
成功:功能(响应){
如果(答复){
var responseObj=jQuery.parseJSON(响应);
if(responseObj.ResponseData)
$('label.sendingStatus').text(responseObj.ResponseData);
}
重置输入();
$('sendMail').removeAttr('disabled');
},
错误:函数(xhr、ajaxOptions、thrownError){
//xhr状态:404303501。。。
var错误=null;
开关(xhr状态)
{
案例“301”:
error=“重定向错误!”;
打破
案例“307”:
error=“error,临时服务器重定向!”;
打破
案例“400”:
错误=“错误请求!”;
打破
案例“404”:
error=“找不到页面!”;
打破
案例“500”:
error=“服务器当前不可用!”;
打破
违约:
error=“未检查的错误,请稍后再试。”;
}
如果(错误){
$('label.sendingStatus').text(错误);
}
}
});
};
var CalculateMedifference=函数(起始日期){
var秒=1000;
v
success: function(response){
if(response){
var responseObj = jQuery.parseJSON(response);
if(responseObj.ResponseData)
{
$('#subscribe').val('');
showMessage('Your subscription was received. Thank you!');
}
}
}
var showMessage = function (msg) {
// of course, you wouldn't use alert,
// but would inject the message into the dom somewhere
alert(msg);
}