jQuery几个经典表单应用整理回想

1、文本框获得(失去)焦点

当文本框获得输入焦点时,将该文本框高亮显示,算不得一个应用。仅仅是一个小技巧,能够提高用户体验。

[html] view
plain
copy

  1. <span style="font-family:SimSun;font-size:12px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title></title>
  6. <style type="text/css">
  7. body{
  8. font:normal 12px/17px Arial;
  9. }
  10. div{
  11. padding:2px;
  12. }
  13. input, textarea {
  14. width: 12em;
  15. border: 1px solid #888;
  16. }
  17. .focus {
  18. border: 1px solid #f00;
  19. background: #fcc;
  20. }
  21. </style>
  22. <!--   引入jQuery -->
  23. <script src="jquery-2.1.0.min.js" type="text/javascript"></script>
  24. <script type="text/javascript">
  25. $(function(){
  26. $(":input").focus(function(){
  27. $(this).addClass("focus");
  28. if($(this).val() ==this.defaultValue){
  29. $(this).val("");
  30. }
  31. }).blur(function(){
  32. $(this).removeClass("focus");
  33. if ($(this).val() == ‘‘) {
  34. $(this).val(this.defaultValue);
  35. }
  36. });
  37. })
  38. </script>
  39. </head>
  40. <body>
  41. <form action="" method="post" id="regForm">
  42. <fieldset>
  43. <legend>个人基本信息</legend>
  44. <div>
  45. <label  for="username">名称:</label>
  46. <input id="username" type="text" value="名称" />
  47. </div>
  48. <div>
  49. <label for="pass">password:</label>
  50. <input id="pass" type="password" value="密码" />
  51. </div>
  52. <div>
  53. <label for="msg">具体信息:</label>
  54. <textarea id="msg" rows="2" cols="20">具体信息</textarea>
  55. </div>
  56. </fieldset>
  57. </form>
  58. </body>
  59. </html></span>

效果图:

2、Elastic弹性文本域

Elastic是一款功能专一的表单插件,他能够控制页面内表单域(<textarea>)标签高度自己主动伸缩,以适应包括的文本。应用这个插件的时候页面须要引入jquery.elastic.source.js。

插件下载地址:点击进入下载页面

[html] view
plain
copy

  1. <span style="font-family:SimSun;font-size:12px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title> New Document </title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <script  src="jquery-2.1.0.min.js" type="text/javascript"></script>
  7. <script src="jquery.elastic.source.js" type="text/javascript" ></script>
  8. <script type="text/javascript">
  9. //页面载入方法
  10. $(function(){
  11. $("textarea").elastic();//应用弹性文本框
  12. })
  13. </script>
  14. </head>
  15. <body>
  16. <textarea name="" rows="2" cols="43">
  17. 沁园春·雪
  18. 北国风光。千里冰封,万里雪飘。
  19. 望长城内外,惟余莽莽;大河上下。顿失滔滔。
  20. 山舞银蛇,原驱蜡象。欲与天公试比高。
  21. 须晴日,看红装素裹,分外妖娆。
  22. 江山如此多娇,引无数英雄竞折腰。
  23. 惜秦皇汉武,略输文採。唐宗宋祖,稍逊风骚。
  24. 一代天骄,成吉思汗,仅仅识弯弓射大雕。
  25. 俱往矣。数风流人物。还看今朝。
  26. </textarea>
  27. </body>
  28. </html></span>

效果图:

我们最初设置的<textarea>标签的rows属性值为2 ,随着文本内容的增多高度会自己主动添加,当然了。随着内容的降低也能够高度降低的。

3、Autotab自己主动Tab文本框

Autotab也是一款功能专一的表单插件。它提供了自己主动跳格的功能。当用户输入的字符数一旦超过已定义的最大长度,则会依据事先设置的目标自己主动跳转到对应元素上,省却了

用户按【Tab】键的麻烦。最典型的应用就是输入IP地址、软件激活码等地方了,我们做的web项目中也有非常多地方能够用到这插件,对于提高用户体验还是非常有帮助的。

使用时须要引入jquery.autotab.js,下载地址:点击进入下载页面

[html] view
plain
copy

  1. <span style="font-family:SimSun;font-size:12px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title> New Document </title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <script  src="jquery-2.1.0.min.js" type="text/javascript"></script>
  7. <script  src="jquery.autotab.js" type="text/javascript"></script>
  8. <script type="text/javascript">
  9. //页面载入方法
  10. $(function(){
  11. $(‘#autotab‘).submit(function(){
  12. return false;
  13. })
  14. $(‘#autotab :input‘).autotab_magic();//为页面文本框绑定autotab插件
  15. })
  16. </script>
  17. </head>
  18. <body>
  19. <h1>jQuery整理笔记七</h1>
  20. <h2>Autotab自己主动Tab文本框</h2>
  21. <form method="post" action=""  id="autotab">
  22. <label>请输入验证码:
  23. <input type="text" name="num1" id="num1" maxlength="3"  size="3">
  24. <input type="text" name="num2" id="num2" maxlength="3"  size="3">
  25. <input type="text" name="num3" id="num3" maxlength="3"  size="3">
  26. <input type="text" name="num4" id="num4" maxlength="3"  size="3">
  27. <input type="text" name="num5" id="num5" maxlength="3"  size="3">
  28. <input type="text" name="num6" id="num6" maxlength="3"  size="3">
  29. </form>
  30. </body>
  31. </html></span>

除了能够限定输入长度外,还能够通过autotab_filter()方法限定输入的字符类型。这种方法还能过滤大写、小写、空格、字母等,详细的用到了现查吧。

假设将上面的js改成:

[html] view
plain
copy

  1. <span style="font-family:SimSun;font-size:12px;">$(function(){
  2. $(‘#autotab‘).submit(function(){
  3. return false;
  4. });
  5. $(‘#autotab :input‘).autotab_magic().autotab_filter(‘numeric‘);
  6. })</span>

就是仅仅能输入数字了。

4、passwordStrength密码强度指标

passwordStrength插件可以依据用户输入的password,以图形化方式显示password的强度。

[html] view
plain
copy

  1. <span style="font-family:SimSun;font-size:12px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>passwordStrength</title>
  6. <link href="css/style.css" rel="stylesheet" type="text/css" media="all" />
  7. <script type="text/javascript" src="jquery-2.1.0.min.js"></script>
  8. <script type="text/javascript" src="passwordStrength.js"></script>
  9. <script type="text/javascript">
  10. $(function(){
  11. $(‘input[name="password"]‘).passwordStrength();
  12. })
  13. </script>
  14. <style type="text/css">
  15. .is0{background:url(images/progressImg1.png) no-repeat 0 0;width:138px;height:7px;margin:10px 0 0 104px;}
  16. .is10{background-position:0 -7px;}
  17. .is20{background-position:0 -14px;}
  18. .is30{background-position:0 -21px;}
  19. .is40{background-position:0 -28px;}
  20. .is50{background-position:0 -35px;}
  21. .is60{background-position:0 -42px;}
  22. .is70{background-position:0 -49px;}
  23. .is80{background-position:0 -56px;}
  24. .is90{background-position:0 -63px;}
  25. .is100{background-position:0 -70px;}
  26. #autotab input { width:138px; }
  27. </style>
  28. </head>
  29. <body>
  30. <h1>jQuery整理笔记七</h1>
  31. <h2>表单开发(Forms)</h2>
  32. <hr />
  33. <h3>passwordStrength密码强度指标</h3>
  34. <form action="" method="post" id="autotab" class="p1">
  35. <label>请输入password:
  36. <input type="password" name="password" />
  37. <div id="passwordStrengthDiv" class="is0"></div>
  38. </label>
  39. </form>
  40. </body>
  41. </html></span>

上例用到一个图片:

运行效果图:

5、formToWizard表单填充向导

这个是什么意思呢?事实上我们实际见的也非常多,有非常多站点填写注冊信息的时候是分步进行的。例如说,先填写个人信息,然后再填写工作信息...然后一起提交。

这就避免了庞

大的信息量都在一个页面上进行填写。

formToWizard就是解决问题的一个小插件。插件下载地址:点击进入下载页面

[html] view
plain
copy

  1. <span style="font-family:SimSun;font-size:12px;"><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <head>
  4. <title> New Document </title>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <script  src="jquery-2.1.0.min.js" type="text/javascript"></script>
  7. <script type="text/javascript" src="formToWizard.js"></script>
  8. <script type="text/javascript">
  9. //页面载入方法
  10. $(function(){
  11. $("#form1").formToWizard({ submitButton: ‘SaveAccount‘ })
  12. })
  13. </script>
  14. <style type="text/css">
  15. #wrap { margin:1em 4em; font-size:12px; padding:1em 1em; border:solid 1px #fff; }
  16. fieldset { border:none; width:320px; }
  17. legend { font-size:18px; margin:0px; padding:10px 0px; color:#b0232a; font-weight:bold; }
  18. label { display:block; margin:15px 0 5px; }
  19. input[type=text], input[type=password] { width:300px; padding:5px; border:solid 1px #000; }
  20. .prev, .next { background-color:#b0232a; padding:5px 10px; color:#fff; text-decoration:none; }
  21. .prev:hover, .next:hover { background-color:#000; text-decoration:none; }
  22. .prev { float:left; }
  23. .next { float:right; }
  24. #steps { list-style:none; width:100%; overflow:hidden; margin:0px; padding:0px; }
  25. #steps li { font-size:24px; float:left; padding:10px; color:#b0b1b3; }
  26. #steps li span { font-size:11px; display:block; }
  27. #steps li.current { color:#000; }
  28. #makeWizard { background-color:#b0232a; color:#fff; padding:5px 10px; text-decoration:none; font-size:18px; }
  29. #makeWizard:hover { background-color:#000; }
  30. </style>
  31. </head>
  32. <body>
  33. <div id="wrap">
  34. <form id="form1" action="">
  35. <fieldset>
  36. <legend>登录信息</legend>
  37. <label for="Name">昵称</label>
  38. <input id="Name" type="text" />
  39. <label for="Email">Email</label>
  40. <input id="Email" type="text" />
  41. <label for="Password">password</label>
  42. <input id="Password" type="password" />
  43. </fieldset>
  44. <fieldset>
  45. <legend>公司信息</legend>
  46. <label for="CompanyName">公司名称</label>
  47. <input id="CompanyName" type="text" />
  48. <label for="Website">公司网址</label>
  49. <input id="Website" type="text" />
  50. <label for="CompanyEmail">公司邮箱</label>
  51. <input id="CompanyEmail" type="text" />
  52. </fieldset>
  53. <fieldset>
  54. <legend>个人信息</legend>
  55. <label for="NameOnCard">真实姓名</label>
  56. <input id="NameOnCard" type="text" />
  57. <label for="CardNumber">身份证号</label>
  58. <input id="CardNumber" type="text" />
  59. <label for="CreditcardMonth">发卡日期</label>
  60. <select id="CreditcardMonth">
  61. <option value="1">1</option>
  62. <option value="2">2</option>
  63. <option value="3">3</option>
  64. <option value="4">4</option>
  65. <option value="5">5</option>
  66. <option value="6">6</option>
  67. <option value="7">7</option>
  68. <option value="8">8</option>
  69. <option value="9">9</option>
  70. <option value="10">10</option>
  71. <option value="11">11</option>
  72. <option value="12">12</option>
  73. </select>
  74. <select id="CreditcardYear">
  75. <option value="2009">2009</option>
  76. <option value="2010">2010</option>
  77. <option value="2011">2011</option>
  78. </select>
  79. <label for="Address1">地址1</label>
  80. <input id="Address1" type="text" />
  81. <label for="Address2">地址2</label>
  82. <input id="Address2" type="text" />
  83. <label for="City">城市</label>
  84. <input id="City" type="text" />
  85. <label for="Country">国家</label>
  86. <select id="Country">
  87. <option value="CA">Canada</option>
  88. <option value="US">United States of America</option>
  89. <option value="GB">United Kingdom (Great Britain)</option>
  90. <option value="AU">Australia</option>
  91. <option value="JP">Japan</option>
  92. </select>
  93. </fieldset>
  94. <div>
  95. <input id="SaveAccount" type="button" value="提交表单" />
  96. </div>
  97. </div>
  98. </form>
  99. </body>
  100. </html>
  101. </span>

效果图:

6、checkbox复选框(全选反选等操作)

曾经经经常使用,不说了。

7、下拉框的应用

这回先看个图:

大家肯定都见过类似效果的网页,怎么实现的呢,代码非常easy:

[html] view
plain
copy

  1. <span style="font-family:SimSun;font-size:12px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title></title>
  6. <style type="text/css">
  7. * { margin:0; padding:0; }
  8. div.centent {
  9. float:left;
  10. text-align: center;
  11. margin: 10px;
  12. }
  13. span {
  14. display:block;
  15. margin:2px 2px;
  16. padding:4px 10px;
  17. background:#898989;
  18. cursor:pointer;
  19. font-size:12px;
  20. color:white;
  21. }
  22. </style>
  23. <!--   引入jQuery -->
  24. <script src="jquery-2.1.0.min.js" type="text/javascript"></script>
  25. <script type="text/javascript">
  26. $(function(){
  27. //移到右边
  28. $(‘#add‘).click(function() {
  29. //获取选中的选项,删除并追加给对方
  30. $(‘#select1 option:selected‘).appendTo(‘#select2‘);
  31. });
  32. //移到左边
  33. $(‘#remove‘).click(function() {
  34. $(‘#select2 option:selected‘).appendTo(‘#select1‘);
  35. });
  36. //所有移到右边
  37. $(‘#add_all‘).click(function() {
  38. //获取所有的选项,删除并追加给对方
  39. $(‘#select1 option‘).appendTo(‘#select2‘);
  40. });
  41. //所有移到左边
  42. $(‘#remove_all‘).click(function() {
  43. $(‘#select2 option‘).appendTo(‘#select1‘);
  44. });
  45. //双击选项
  46. $(‘#select1‘).dblclick(function(){ //绑定双击事件
  47. //获取所有的选项,删除并追加给对方
  48. $("option:selected",this).appendTo(‘#select2‘); //追加给对方
  49. });
  50. //双击选项
  51. $(‘#select2‘).dblclick(function(){
  52. $("option:selected",this).appendTo(‘#select1‘);
  53. });
  54. });
  55. </script>
  56. </head>
  57. <body>
  58. <div class="centent">
  59. <select multiple="multiple" id="select1" style="width:100px;height:160px;">
  60. <option value="1">曹操</option>
  61. <option value="2">曹昂</option>
  62. <option value="3">曹丕</option>
  63. <option value="4">曹彰</option>
  64. <option value="5">曹植</option>
  65. <option value="6">曹熊</option>
  66. <option value="7">曹仁</option>
  67. <option value="8">曹洪</option>
  68. <option value="9">曹休</option>
  69. <option value="10">曹真</option>
  70. <option value="11">曹爽</option>
  71. </select>
  72. <div>
  73. <span id="add" >选中加入到右边>></span>
  74. <span id="add_all" >所有加入到右边>></span>
  75. </div>
  76. </div>
  77. <div class="centent">
  78. <select multiple="multiple" id="select2" style="width: 100px;height:160px;">
  79. <option value="12">曹芳</option>
  80. </select>
  81. <div>
  82. <span id="remove"><<选中删除到左边</span>
  83. <span id="remove_all"><<所有删除到左边</span>
  84. </div>
  85. </div>
  86. </body>
  87. </html></span>

代码实现的功能:

1)、将选中的选项加入给对方

2)、将所有选项加入给对方

3)、双击某个选项将其加入给对方

时间: 2024-11-09 02:45:07

jQuery几个经典表单应用整理回想的相关文章

jQuery几个经典表单应用整理回顾

1.文本框获得(失去)焦点 当文本框获得输入焦点时,将该文本框高亮显示,算不得一个应用,只是一个小技巧,可以提高用户体验. [html] view plaincopy <span style="font-family:SimSun;font-size:12px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xht

使用jquery实现的清空表单元素代码实例

使用jquery实现的清空表单元素代码实例:如果表单的元素较多的话,如果想情况以前填写的内容可能有点耗费体力,不够人性化,下面就介绍一下如何利用jquery代码实现快捷清除表单元素内容的功能,先看一段代码实例: $('#theform')[0].reset(); 很朋友可能认为上面的代码就完全实现我们的要求,其实这是错误的,reset()函数是重置的意思,也就是将表单元素的值重置为默认值而不是清空,如下面的文本框: <input type="text" value="蚂

jQuery Validate 插件,表单验证功能

连接地址:http://www.w3cschool.cc/jquery/jquery-plugin-validate.html jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 该插件是由 Jör

jQuery可以计算的表单,包括单选改变价格,select改变价格,动态添加删除行计算

jQuery可以计算的表单,包括单选改变价格,select改变价格,动态添加删除行计算 各种表单情况的计算 演示 JavaScript Code <script type="text/javascript"> var currentRow = 3; $(document).ready(function(){ $('#calx').calx(); $('#add_item').click(function(){ var $calx = $('#calx'); currentR

jquery ajax提交整个表单参数

转自 : http://www.jb51.net/article/35085.htm function submit(){ var formData=$("form").serialize();  $.ajax({  type: "POST",  url: "/index.aspx",  processData:true,  data:formData,  success: function(data){  $("#result&quo

JQuery使用reset重置表单

本文章主要介绍了使用jQuery重置(reset)表单的方法,需要的朋友可以参考下 原文地址: http://www.hpboys.com/820.html 由于JQuery中,提交表单是像下面这样的: $('#yigeform').reset(); 但是,不幸的是,这样写的话,会有一个让你很郁闷的结果,那就是,表单无法重置! 后来,兴冲冲的查看了JQuery文档,JQuery中并没有reset方法! 那有么没有办法通过JQuery来重置表单呢,答案是有的,不过是一种间接的方法. 如下,因为Fo

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"

jQuery Validate【为表单提供了强大的验证功能,让客户端表单验证变得更简单】

jQuery Validate jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 URL 和电子邮件验证,同时提供了一个用来编写用户自定义方法的 API.所有的捆绑方法默认使用英语作为错误信息,且已翻译成其他 37 种语言. 该插件是由 J?rn Zaefferer 编写和维护的,他是 jQuery 团队的一名成员,是 jQuery UI 团队的主要开发人员,是 QUn

jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因

jquery.validate.js 验证表单时,在IE当中未验证就直接提交的原因 今天利用了jquery.validate.js来验证表单,发现在火狐.谷歌浏览器当中都可以进行验证,但是在IE系列浏览器当中却无法进行验证就直接将表单提交了. 在网上查了一下原因,大多数文章表明原因是js代码书写不规范造成,也就是在验证表单的规则(rules)数组的最后多了个逗号.起初我也因为是这个原因于是查看了自己的代码发现确实有此问题于是就改正过来了. 但是在浏览器中查看后仍然不起作用,在百思不得其解时,想到