jquery ajax 发送邮件例子
<div class="form">
<dl>
<dt>您的称呼<small>(必填)</small></dt>
<dd><input id="name" type="text" name="name" class="formText" require></dd>
</dl>
<dl>
<dt>您的邮箱<small>(必填)</small></dt>
<dd><input id="email" type="text" name="email" class="formText" require></dd>
</dl>
<dl>
<dt>联系电话</dt>
<dd><input id="phone" type="text" name="phone" class="formText"></dd>
</dl>
<dl>
<dt>您的想法/意见<small>(必填)</small></dt>
<dd><textarea id="message" name="message" class="formText"></textarea></dd>
</dl>
<div class="formBtn" onclick="btnSend()">发送留言</div>
<script>
//提交数据
function btnSend() {
$("#txtMsg").text("");
var name = $("#name").val();//您的称呼
var email = $("#email").val();//您的邮箱
var phone = $("#phone").val();//联系电话
var message = $("#message").val();//您的想法 if (name.length == ) {
alert("称呼不能为空!");
return;
}
if (email.length == ) {
alert("邮箱不能为空!");
return;
} var myreg = /^([a-zA-Z0-]+[_|\_|\.]?)*[a-zA-Z0-]+@([a-zA-Z0-]+[_|\_|\.]?)*[a-zA-Z0-]+\.[a-zA-Z]{,}$/;
if (!myreg.test(email)) {
alert('请输入有效的E_mail!');
return;
} if (message.length < ) {
alert("意见不能不能少于20个字符!");
return;
}
$(".formBtn").val("正在发送,请稍等!"); var postData = "name=" + name + "&email=" + email + "&phone=" + phone + "&message=" + message; //向后台发送处理数据
$.ajax({
type: "POST", //用POST方式传输
dataType: "text", //数据格式:JSON
url: '/Email.ashx', //目标地址
data: postData,
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("发送失败,请联系在线客服!");
},
success: function (msg) {
$(".formBtn").val("发送留言");
alert(msg);
}
});
} </script>
</div>
Email.ashx
<%@ WebHandler Language="C#" Class="Email" %> using System;
using System.Web;
using Ky.Common; public class Email : IHttpHandler
{ public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain"; string name = KYRequest.GetFormString("name");//您的称呼
string email = KYRequest.GetFormString("email");//您的邮箱
string phone = KYRequest.GetFormString("phone");//联系电话
string message = KYRequest.GetFormString("message");//您的想法 if (string.IsNullOrEmpty(name))
{
context.Response.Write("您的称呼为空");
return;
}
if (string.IsNullOrEmpty(email))
{
context.Response.Write("您的邮箱为空");
return;
}
if (string.IsNullOrEmpty(message))
{
context.Response.Write("想法/意见为空");
return;
}
string body = "时间:" + DateTime.Now + "<br>IP:" + KYRequest.GetIP() + "<br>称呼:" + name + "<br>邮箱:" + email + "<br>电话:" + phone + "<br>想法/意见:" + message; try
{
string wwwEmail = System.Configuration.ConfigurationManager.AppSettings["wwwEmail"].ToString();
SendMail.Send(wwwEmail, "【邮件助手】您的网站收到留言" + DateTime.Now, body);
context.Response.Write("发送成功,感谢您的支持。");
}
catch
{
context.Response.Write("Web.config未设置接收邮箱,发送失败");
}
} public bool IsReusable
{
get
{
return false;
}
} }
jquery ajax 发送邮件例子的更多相关文章
- jquery ajax POST 例子详解
function test(){ $.ajax({ //提交数据的类型 POST GET type:"POST", //提交的网址 url:"testLogin.aspx ...
- Jquery.ajax 详细解释 通过Http请求加载远程数据
首先请看一个Jquery.ajax的例子 $.ajax({ type: "GET", url: "/api/SearchApi/GetResults", dat ...
- php+jquery+ajax+json简单小例子
直接贴代码: <html> <title>php+jquery+ajax+json简单小例子</title> <?php header("Conte ...
- jquery ajax跨域请求后台的简单例子
一.简介AJAX 是与服务器交换数据的技术,它在不重载全部页面的情况下,实现了对部分网页的更新. ajax() 方法通过 HTTP 请求加载远程数据. 该方法是 jQuery 底层 AJAX 实现.简 ...
- WCF入门教程(四)通过Host代码方式来承载服务 一个WCF使用TCP协议进行通协的例子 jquery ajax调用WCF,采用System.ServiceModel.WebHttpBinding System.ServiceModel.WSHttpBinding协议 学习WCF笔记之二 无废话WCF入门教程一[什么是WCF]
WCF入门教程(四)通过Host代码方式来承载服务 Posted on 2014-05-15 13:03 停留的风 阅读(7681) 评论(0) 编辑 收藏 WCF入门教程(四)通过Host代码方式来 ...
- Django1.7+JQuery+Ajax集成小例子
Ajax的出现让Web展现了更新的活力,基本所有的语言,都动态支持Ajax与起服务端进行通信,并在页面实现无刷新动态交互. 下面是散仙使用Django+Jquery+Ajax的方式来模拟实现了一个验证 ...
- jQuery Ajax 方法调用 Asp.Net WebService 以及调用aspx.cs中方法的详细例子
一.jQuery Ajax 方法调用 Asp.Net WebService (引自Terry Feng) Html文件 <!DOCTYPE html PUBLIC "-//W3C//D ...
- jquery ajax请求后台 的简单例子
jQuery.ajax(url,[settings]) 概述 通过 HTTP 请求加载远程数据. jQuery 底层 AJAX 实现.简单易用的高层实现见 $.get, $.post 等.$.ajax ...
- JQuery+Ajax+Struts2+Hibernate 实现完整的登录注册
写在最前: 下午有招聘会,不想去,总觉得没有准备好,而且都是一些不对口的公司,可是又静不下心来,就来写个博客. 最近在仿造一个书城的网站:http://www.yousuu.com ,UI直接拿来用, ...
随机推荐
- PHP Session 常用的函数
我们在前面的文章里面讲到session的原理和最佳实践,感到意犹未尽.现在再来聊下PHP Session用到的几个相关的函数. session_start() session_start() 会创建新 ...
- Divisor counting [线性筛积性函数]
Divisor counting 题目大意:定义f(n)表示整数n的约数个数.给出正整数n,求f(1)+f(2)+...+f(n)的值. 注释:1<=n<=1000,000 想法:我们再次 ...
- 深入理解Android中View
文章目录 [隐藏] 一.View是什么? 二.View创建的一个概述: 三.View的标志(Flag)系统 四.MeasureSpec 五.几个重要方法简介 5.1 onFinishInflate ...
- Spring MVC之适配器的获取及执行(RequestMappingHandlerAdapter)
首先看下doDispatch()方法如何找到适合的适配器来执行方法的: protected HandlerAdapter getHandlerAdapter(Object handler) throw ...
- 团队作业7-Beta版本冲刺计划及安排
a.下一阶段需要改进完善的功能 对部分bug的修改,主要是在未登录时页面跳转的问题以及防止通过对数据库进行注入查询. b.下一阶段新增的功能 1.活动页面,提示打折信息等. 2.商家修改打折信息 3. ...
- 2017-2018-1 1623 bug终结者 冲刺005
bug终结者 冲刺005 by 20162323 周楠 今日任务:理清游戏运行逻辑,GameView类为游戏核心代码 简要介绍 游戏中整个地图都是由数组组成 1.整个地图为16×16格,主要元素有墙. ...
- Scrum 冲刺 第一日
Scrum 冲刺 第一日 站立式会议 燃尽图 Alpha 阶段认领任务 明日任务安排 项目预期任务量 成员贡献值计算规则 今日贡献量 参考资料 站立式会议 返回目录 燃尽图 返回目录 Alpha 阶段 ...
- PostMan 调用WCF Rest服务
问题描述: 现在有已有的WCF服务,但是ajax是不能请求到这个服务的: 需要把WCF转成WCF REST 的风格. 以下是从WCF转 WCF REST的步骤 1.首先在接口定义的地方加上 请求 We ...
- vue初尝试--新建项目
这是一篇技术贴--如何新建一个基于vue的项目 1.下载对应版本的nodejs安装,下载的nodejs都集成了npm,所以nodejs安装完成之后npm也对应安装完成了. 安装完成之后可以在cmd命令 ...
- 16-TypeScript装饰器模式
在客户端脚本中,有一个类通常有一个方法需要执行一些操作,当我们需要扩展新功能,增加一些操作代码时,通常需要修改类中方法的代码,这种方式违背了开闭的原则. 装饰器模式可以动态的给类增加一些额外的职责.基 ...