Form 表单提交功能,jQuery实现

 1   <form name="MYFORM" id="MYFORM">
 2                     <input name="name" size="30" type="text" id="name" class="span12" placeholder="Name" />
 3                     <input name="email" size="30" type="text" id="email" class="span12" placeholder="E-mail Address" />
 4                     <textarea id="message" name="message" class="span12" placeholder="Message" rows="8"></textarea>
 5                     <img src="contact/refresh.jpg" width="25" alt="" id="refresh" />
 6                     <img src="contact/VerifyCode.aspx" alt="点击更换验证码" id="captcha" />
 7                     <br />
 8                     <input name="code" id="code" type="text" id="code" placeholder="Enter Captcha" class="top10" />
 9                     <br />
10                     <input value="提交" type="submit" id="Send" class="btn btn-primary top10" />
11                     <br />
12     </form>
  1
  2  <script type="text/javascript">
  3
  4         $(document).ready(function () {
  5
  6             $(‘#Send‘).click(function () {
  7
  8                 // name validation
  9
 10                 var nameVal = $("#name").val();
 11
 12                 if (nameVal == ‘‘) {
 13
 14                     $("#name_error").html(‘‘);
 15
 16                     $("#name").after(‘<label class="error" id="name_error">Please enter your name.</label>‘);
 17
 18                     return false
 19
 20                 }
 21
 22                 else {
 23
 24                     $("#name_error").html(‘‘);
 25
 26                 }
 54
 55                 var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/;
 56
 57                 var emailaddressVal = $("#email").val();
 58
 59                 if (emailaddressVal == ‘‘) {
 60
 61                     $("#email_error").html(‘‘);
 62
 63                     $("#email").after(‘<label class="error" id="email_error">Please enter your email address.</label>‘);
 64
 65                     return false
 66
 67                 }
 68
 69                 else if (!emailReg.test(emailaddressVal)) {
 70
 71                     $("#email_error").html(‘‘);
 72
 73                     $("#email").after(‘<label class="error" id="email_error">Enter a valid email address.</label>‘);
 74
 75                     return false
 76
 77                 }
 78
 79                 else {
 80
 81                     $("#email_error").html(‘‘);
 82
 83                 }
 84
 85                 // message validation
 86
 87                 var nameVal = $("#message").val();
 88
 89                 if (nameVal == ‘‘) {
 90
 91                     $("#message_error").html(‘‘);
 92
 93                     $("#message").after(‘<label class="error" id="name_error">Please enter your message.</label>‘);
 94
 95                     return false
 96
 97                 }
 98
 99                 else {
100
101                     $("#message_error").html(‘‘);
102
103                 }
104
105                 var input = $("#code").val();
106                 if (input == ‘‘) {
107                     $("#code_error").html(‘‘);
108                     $("#code").after(‘<label class="error" id="code_error">Please enter validated code.</label>‘);
109                     return false
110                 }
111                 else {
112                     $("#code_error").html(‘‘);
113                 }
165                 $.ajax({ url: ‘ok.aspx?action=ok‘,
166                     type: ‘post‘,
167                     // data: { myname: $("#myname").val(), myage: $("#myage").val(), mynober: $("#mynober").val() },
168                     //form表单批量提交                         data: $("#MYFORM").serialize(),
169                     dataType: ‘html‘,
170                     error: function () {
171                         $("#after_submit").html(‘‘);
172
173                         $("#Send").after(‘<label class="error" id="after_submit">Wrong captcha! Refresh and try again.</label>‘);
174                     },
175                     success: function (data) {
176                         if (data == "ok") {
177
178                             $("#after_submit").html(‘‘);
179
180                             $("#Send").after(‘<div class="alert alert-success success" id="after_submit"><button type="button" class="close" data-dismiss                             ="alert">×</button>Thank you! Your message has been sent.</div>‘);

181
182                             clear_form();
183                             change_captcha();
184                         }
185                         if (data == "error") {
186                             $("#code_error").html(‘‘);
187                             $("#code").after(‘<label class="error" id="code_error">validated code error!</label>‘);
188                             return false
190                         }
193                     }
197                 });
198
199                 return false;
200
201             });
203             // refresh captcha
204
205             $(‘img#refresh‘).click(function () {
206
207                 change_captcha();
208
209             });
210
211             function change_captcha() {
212
213                 document.getElementById(‘captcha‘).src = "contact/VerifyCode.aspx?" + Math.random();
215             }
216
217             function clear_form() {
218
219                 $("#name").val(‘‘);
220
221                 $("#email").val(‘‘);
222
223                 $("#message").val(‘‘);
224
225                 $("#code").val(‘‘);
226
227             }
228
229         });
230
231     </script>
 1     protected void Page_Load(object sender, EventArgs e)
 2     {
 3         if (!IsPostBack)
 4         {
13             string checkcod = Session["VerifyCode"].ToString();
14             if (Request["action"].ToString() != "")
15             {
17                 string name = Request.Form["name"].ToString();
18                 string email = Request.Form["email"].ToString();
19                 string msg = Request.Form["message"].ToString();
21                 string code = Request.Form["code"].ToString();
22                 if (checkcod == code)
23                 {
24                     Response.Write("ok");                     //将前台数据更新到数据库中,并返回ok值到前台...
25                     db.Updatedata("insert into srtitle (suser,icontent,datetime,isr,isvid,rcontent,rdatetime,titleid) values(‘" + name.Replace("script", "") + "‘,‘" + msg.Replace("script", "") + "‘,‘" + DateTime.Now.ToShortDateString() + "‘,‘false‘,‘" + email.Replace("script", "") + "‘,‘‘,‘‘,1)");
26
27                 }
28                 else if (checkcod != code)
29                 {
30                     Response.Write("error");
31                 }
32                 else
33                 {
34                     Response.Write("error");
35                 }
36
37             }
38
39         }
40     }

注意ok.aspx页面中,前台页删除所有html代码!!仅保留此段<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ok.aspx.cs" %>

验证码页面源码:

 1  protected void Page_Load(object sender, EventArgs e)
 2     {
 3
 4         string code = CreateRandomCode(4);//生成随机码
 5         Session["VerifyCode"] = code;//随机码保存
 6         CreateImageonPage(code, this.Context);//生成图片
 7     }
 8     //直接输出图形到页面
 9     private void CreateImageonPage(string code, HttpContext context)
10     {
11         System.IO.MemoryStream ms = new System.IO.MemoryStream();
12         Bitmap image = this.CreatImageCode(code);
13         image.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
14         context.Response.ClearContent();
15         context.Response.ContentType = "image/Jpeg";
16         context.Response.BinaryWrite(ms.GetBuffer());
17         ms.Close();
18         ms = null;
19         image.Dispose();
20         image = null;
21     }
22     public static bool CheckCode(string text)
23     {
24         string txt = System.Web.HttpContext.Current.Session["VerifyCode"] as string;
25         return text ==txt;
26
27     }
28     //创建验证码图片
29     public Bitmap CreatImageCode(string code)
30     {
31         Color backgroundcolor = Color.OrangeRed;
32         int padding = 2;//边框补(默认l像素)
33         int fontsize = 15;//字体大小
34         string fontname = "Arial";//字体
35         int fWidth = fontsize + padding;//字体宽
36         int imgWidth = (int)(code.Length * fWidth) + 4 + padding * 2;//图片宽度
37         int imgHight = fontsize * 2 + 2;//图片高度
38         System.Drawing.Bitmap imge = new System.Drawing.Bitmap(imgWidth, imgHight);//图片对象
39         Graphics gr = Graphics.FromImage(imge);
40         gr.Clear(backgroundcolor);//刷底色
41         int left = 1, top = 2;
42         Font f = null;
43         Brush b = null;
44         //随机字体和颜色的验证码字符
45         for (int i = 0; i < code.Length; i++)
46         {
47             f = new System.Drawing.Font(fontname, fontsize, System.Drawing.FontStyle.Bold);//字体
48             b = new System.Drawing.SolidBrush(Color.White);//白色字体
49             gr.DrawString(code[i].ToString(), f, b, left, top);
50             left += fWidth;
51
52         }
53         //画一个边框 边框元素为Color.gainsbro
54         gr.DrawRectangle(new Pen(Color.Gainsboro, 0), 0, 0, imge.Width, imge.Height);
55         for (int icount = 0; icount < 10; icount++)
56         {
57             //在随机的位置使用随机的颜色线条和像素
58             Random rand = new Random();
59             int x = rand.Next(imgWidth);
60             int y = rand.Next(imgHight);
61             int x1 = rand.Next(imgWidth);
62             int y1 = rand.Next(imgHight);
63             int x2 = rand.Next(imgWidth);
64             int y2 = rand.Next(imgHight);
65             int red = rand.Next(255); int green = rand.Next(255); int blue = rand.Next(255);
66             Color c = Color.FromArgb(red, green, blue);
67             gr.DrawLine(new Pen(c), new Point(x1, y1), new Point(x2, y2));
68             imge.SetPixel(x, y, c);
69         }
70         gr.Dispose();
71         return imge;
72     }
73     /// <summary>
74     /// 功能:产生数字和字符混合的随机字符串
75     /// </summary>
76     /// <param name="codecount">字符串的个数</param>
77     /// <returns></returns>
78     private string CreateRandomCode(int codecount)
79     {
80
81         // 数字和字符混合字符串
82         string allchar = "0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f,g,h,i,j,k,l,m,n";
83         //分割成数组
84         string[] allchararray = allchar.Split(‘,‘);
85         string randomcode = "";
86
87         //随机数实例
88         System.Random rand = new System.Random(unchecked((int)DateTime.Now.Ticks));
89         for (int i = 0; i < codecount; i++)
90         {
91             //获取一个随机数
92             int t = rand.Next(allchararray.Length);
93             //合成随机字符串
94             randomcode += allchararray[t];
95         }
96         return randomcode;
97     }
时间: 2024-10-28 22:21:02

Form 表单提交功能,jQuery实现的相关文章

Jquery form表单提交

起因 由于项目中原先提交from是通过JavaScript指定action,在submit提交的,使用的方式,也不是很标准,造成除了ie之外的浏览器都不能正常的提交数据,做web项目还是要考虑到浏览器的兼容性的. 1.序列化form,通过Ajax提交 $.ajax({ cache: false, type: "POST", url: "readImage.do", data: $('#ff').serialize(), //序列化表单数据 async: true,

jQuery Form 表单提交插件-----formSerialize,fieldSerialize,fieldValue,resetForm,clearForm,clearFields的 应用

一.jQuery Form的其他api  1.  formSerialize 将表单序列化成查询串.这个方法将返回一个形如: name1=value1&name2=value2的字符串.是否可以连环调用: 否, 这个方法返回的是一个字符串. 例子: var queryString = $('#myFormId').formSerialize(); // the data could now be submitted using $.get, $.post, $.ajax, etc $.post(

Jquery来对form表单提交(mvc方案)

来自:http://www.cnblogs.com/lmfeng/archive/2011/06/18/2084325.html 我先说明一下,这是asp.net mvc 里面的用法, Jquery来对form表单提交,下面是一个form表单,里面没有action字段,我们来用Jquery注册事件进行提交, <form method="post" id="documentForm">    <input type="hidden"

HTML5第8次课堂笔记( 模拟form表单提交数据,xml的解析,jQuery的Ajax方法使用, mui的ajax)

HTML5第8次课堂笔记 1.  模拟form表单提交数据:(get方式) <body> <formmethod="get"action="DataTest7"> <inputtype="text"name="uname"value="yang"id="myname"><br/> <inputtype="password&q

Ajax表单提交插件jquery form

jQuery Form插件是一个优秀的Ajax表单插件,我们可以非常容易的使用它处理表单控件的值,清空和复位表单控件,附件上传,以及完成Ajax表单提交. jQuery Form有两个核心方法ajaxForm()和ajaxSubmit(),本文我们重点介绍ajaxSubmit()的应用. HTML 首先我们载入jquery库和jquery.form.js插件.jquery.form.js插件的官网地址:http://www.malsup.com/jquery/form/ <script type

spring mvc Controller与jquery Form表单提交代码demo

1.JSP表单 <% String basePath = request.getScheme() + "://" + request.getServerName() +":"+ request.getServerPort() + request.getContextPath() + "/"; %> <script language="javascript" type="text/javascript

javascprit form表单提交前验证以及ajax返回json

1.今天要做一个手机验证码验证的功能.需求是前端页面点击发送 短信验证码,后台接收后通过ajax返回到前端,之后前端在提交时候进行验证.思路很简单,不过做的过程还是学到不少的东西. 1.ajax请求后返回 returning 405 Method Not Allowed 原因是我后台返回的时候没有加上: @ResponseBody注解.加上后返回的数据是json字符串,但是js只能操作json对象.需要把json字符串转为json对象.一般的有三种方式1.JSON.parse();如 var j

ajax form表单提交 input file中的文件

ajax form表单提交 input file中的文件 现今的主流浏览器由于ajax提交form表单无法把文件类型数据提交到后台,供后台处理,可是开发中由于某些原因又不得不用ajax提交文件, 为了解决这个问题我走了不少弯路: 1.用原生的 input file , 不支持ajax上传文件,你肯定会说可以用 ajax form表单上传了呀?不过我后面还要调用上传成功后用js处理一些对话框,所以这种方法排除 2.用了 uploadify 上传插件,弄出来能上传东西,结果不理想:因为不能判断上传的

Linux curl 模拟form表单提交信息和文件

curl是一个命令行方式下传输数据的开源传输工具,支持多种协议:FTP.HTTP.HTTPS.IMAP.POP3.TELNET等,功能超级强大. 我今天想说的是程序开发中常用的模拟Form提交 1.GET提交 特别简单直接写url里面 2.POST提交    通过 --data/-d 方式指定使用POST方式传递数据 3.模拟form表单提交文件  --form/-F 模拟form表单提交文件 这个命令超级好用,再也不用为了写上传接口,而被迫写一个Form表单了 "[email protecte