1. 获取焦点和失去焦点改变样式
  2. 改变文本框/滚动条高度
  3. 复选框应用
  4. 下拉框应用
  5. 表单验证

tip1:

注意使用<label>的for标签,对应input的id。(for 属性规定 label 与哪个表单元素绑定。)

tip2:

注意:jquery从1.6版本开始,哪些属性应该用attr()访问,哪些应该用prop()访问。

第一个原则:只添加属性名称该属性就会生效应该使用prop();

第二个原则:只存在true/false的属性应该使用prop();

按照官方说明,如果是设置disabled和checked这些属性,应使用prop()方法,而不是attr()方法。

1、获取焦点和失去焦点改变样式

  1. input:focus,textarea:focus{
  2. border: 1px solid #ff3300;
  3. background-color: #fcc;
  4. }
  5. /*IE6并不支持除超链接元素之外的:hover伪类选择符。*/

so,

  1. $(":input").focus(function(){
  2. $(this).addClass("focus");
  3. }).blur(function(){
  4. $(this).removeClass("focus");
  5. });
  6. // :input表示选择表单中的input,select,textarea,button元素,input仅仅选择input元素。

2、改变文本框/滚动条高度

  1. var $comment=$("#commnet");
  2. $(".bigger").click(function(){
  3. if($comment.is(":animated")){
  4. // if($comment.height()<500){
  5. // $comment.animate({height:"+=50"},400);
  6. // } //高度变大
  7. $comment.animate({scrollTop:"-=50"},400); //向上滚动
  8. }
  9. });
  10. $(".smaller").click(function(){
  11. if($comment.is(":animated")){
  12. // if($comment.height()>50){
  13. // $comment.animate({height:"-=50"},400);
  14. // } //高度变小
  15. $comment.animate({scrollTop:"+=50"},400); //向下滚动
  16. }
  17. })

3、复选框应用

  1. <form action="#" method="post" id="regForm">
  2. 你爱好的运动是?
  3. <input type="checkbox" id="CheckAll">全选/全不选
  4. <br/>
  5. <input type="checkbox" name="items" value="足球"> 足球
  6. <input type="checkbox" name="items" value="篮球"> 篮球
  7. <input type="checkbox" name="items" value="羽毛球"> 羽毛球
  8. <input type="checkbox" name="items" value="乒乓球"> 乒乓球<br/>
  9. <input type="button" id="CheckRev" value="反选">
  10. <input type="button" id="send" value="提交">
  11. </form>
  1. $(function () {
  2. // 全选/全不选
  3. $("#CheckAll").click(function () {
  4. $("[name=items]:checkbox").prop("checked", this.checked);
  5. });
  6. // 反选
  7. $("#CheckRev").click(function () {
  8. $("[name=items]:checkbox").each(function () {
  9. this.checked = !this.checked;
  10. })
  11. });
  12. // 提交
  13. $("#send").click(function () {
  14. var str = "你选择中的是:";
  15. $("[name=items]:checkbox:checked").each(function () {
  16. str += $(this).val() + "/";
  17. })
  18. alert(str);
  19. })
  20. // 跟全选联动
  21. $("[name=items]:checkbox,#CheckRev").click(function(){ //#CheckRev添加了反选的联动
  22. var flag=true;
  23. $("[name=items]:checkbox").each(function(){
  24. if(!this.checked){
  25. flag=false;
  26. }
  27. });
  28. $("#CheckAll").prop("checked",flag);
  29. })
  30. });

4、下拉框应用

  1. <div class="fz">
  2. <div class="content l">
  3. <select multiple id="select1" style="width: 100px; height: 160px;">
  4. <option value="1">选项1</option>
  5. <option value="2">选项2</option>
  6. <option value="3">选项3</option>
  7. <option value="4">选项4</option>
  8. <option value="5">选项5</option>
  9. <option value="6">选项6</option>
  10. <option value="7">选项7</option>
  11. <option value="8">选项8</option>
  12. </select>
  13. <div>
  14. <span id="add">选中添加到右边&gt;&gt;</span><br/>
  15. <span id="add_all">全部添加到右边&gt;&gt;</span>
  16. </div>
  17. </div>
  18. <div class="content l">
  19. <select multiple id="select2" style="width: 100px; height: 160px;"></select>
  20. <div>
  21. <span id="remove">&lt;&lt;选中删除到左边</span><br/>
  22. <span id="remove_all">&lt;&lt;全部删除到左边</span>
  23. </div>
  24. </div>
  25. </div>
  1. $(function () {
  2. // 选中添加到右边
  3. $("#add").click(function(){
  4. var $option=$("#select1 option:selected");
  5. // var $remove=$option.remove();
  6. // $remove.appendTo("#select2");
  7. // 删除和追加可以用appendTo()方法直接完成
  8. $option.appendTo("#select2");
  9. });
  10. // 全部添加到右边
  11. $("#add_all").click(function(){
  12. var $option=$("#select1 option");
  13. $option.appendTo("#select2");
  14. });
  15. // 双击添加到右边
  16. $("#select1").dblclick(function(){
  17. var $option=$("option:selected",this);
  18. $option.appendTo("#select2");
  19. })
  20. });

5、表单验证:

  1. <form method="post" action="">
  2. <div class="int">
  3. <label for="username">用户名:</label>
  4. <input type="text" id="username" class="required">
  5. </div>
  6. <div class="int">
  7. <label for="email">邮箱:</label>
  8. <input type="text" id="email" class="required">
  9. </div>
  10. <div class="int">
  11. <label for="personinfo">个人资料:</label>
  12. <input type="text" id="personinfo">
  13. </div>
  14. <div class="sub">
  15. <input type="submit" value="提交" id="send"> <input type="reset" id="res">
  16. </div>
  17. </form>
  1. $(function () {
  2. $("form :input.required").each(function(){
  3. var $required=$("<strong class='red'>*</strong>");
  4. $(this).parent().append($required);
  5. });
  6. $("form :input").blur(function(){
  7. $parent=$(this).parent();
  8. $parent.find(".formtips").remove();
  9. // 验证用户名
  10. if($(this).is("#username")){
  11. if(this.value==""||this.value.length<6){
  12. var errorMsg="请输入至少6位数的用户名";
  13. $parent.append("<span class='formtips onError'>"+errorMsg+"</span>");
  14. }else{
  15. var okMsg="输入正确";
  16. $parent.append("<span class='formtips onSuccess'>"+okMsg+"</span>");
  17. }
  18. }
  19. // 验证邮箱
  20. if($(this).is("#email")){
  21. if(this.value==""||this.value!=""&&!/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value)){
  22. var errorMsg="请输入正确的email";
  23. $parent.append("<span class='formtips onError'>"+errorMsg+"</span>");
  24. }else{
  25. var okMsg="输入正确";
  26. $parent.append("<span class='formtips onSuccess'>"+okMsg+"</span>");
  27. }
  28. }
  29. }).keyup(function(){ //新增,keyup()用户每次松开按键的时候触发
  30. $(this).triggerHandler("blur"); //trigger()不仅会触发为元素绑定的blur事件,也会触发浏览器默认的blur事件,
  31. // 即不能将光标定位到文本框上。而triggerHander("blur")只会触发为元素绑定的blur,而不触发浏览器默认的blur事件
  32. }).focus(function(){ //新增,focus()元素得到焦点的时候触发
  33. $(this).triggerHandler("blur");
  34. });
  35. // 表单提交
  36. $("#send").click(function(){
  37. $("form .required:input").trigger("blur");
  38. var numError=$("form .onError").length;
  39. if(numError){
  40. return false;
  41. }else{
  42. alert("注册成功!");
  43. }
  44. })
  45. });

5.1 《锋利的jQuery》jQuery对表单的操作的更多相关文章

  1. jQuery对表单的操作

    表单应用 一个表单有3个基本组成部分: 表单标签:包含处理表单数据所用的服务器端程序URL以及数据提交到服务器的方法 表单域:包含文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上 ...

  2. JavaScript学习笔记——对表单的操作

    javascript-对表单的操作实例讲解 <form name="myform" id="form1" action="" meth ...

  3. HTML 学习笔记 JQuery(表单,表格 操作)

    表单应用 一个表单有3个基本组成部分 (1)表单标签:包含处理表单数据所用的服务器端程序URL 以及数据提交到服务器的方法 (2)表单域:包含文本框 密码框 隐藏框 多行文本框 复选框 单选框 下拉选 ...

  4. JS对表单的操作

    JS对表单中的style的操作,包括复选框技术 废话不多说直接上文件代码!!! 功能:全选\反选,鼠标监测变颜色 <html> <head> <meta charset= ...

  5. jQuery(6)——jQuery对表单、表格的操作及更多应用

    jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...

  6. 【锋利的jQuery】表单验证插件踩坑

    和前几篇博文提到的一样,由于版本原因,[锋利的jQuery]表单验证插件部分又出现照着敲不出效果的情况. 书中的使用方法: 1. 引入jquery源文件, 2. 引入表单验证插件js文件, 3. 在f ...

  7. 《锋利的JQuery》读书要点笔记4——表格表单的操作

    第五章 jQuery对表单,表格的操作以及更多应用 这章主要以一些具体案例讲解了jQuery对表单,表格的常用操作,以及一些常见的jQuery应用,用到的都是上几章说的东西.下面就以具体的案例来展开. ...

  8. jQuery 对表单、表格的操作及更多应用-简略笔记

    [jQuery 对表单.表格的操作及更多应用] jquery对表单及表格的操作是实际应用中相当广泛. 对于表单的操作,可以实现 (1)获取和失去焦点改变样式: (2)在多行文本框中可以实现网站评论框的 ...

  9. js进阶 14-7 jquery的ajax部分为什么需要对表单进行序列化

    js进阶 14-7 jquery的ajax部分为什么需要对表单进行序列化 一.总结 一句话总结:如果用ajax传递表单的数据,如果不进行表单的序列化,要一个参数一个参数的写,太麻烦,序列化的话,一句代 ...

随机推荐

  1. 微信开发token验证失败

    遇到token验证时: 1.首先检验是否是80端口或443端口,能否接收到微信的响应信息,如果使用域名,域名要备注,否则接收不到响应信息: 2.其次判断是否能正常echo $echoStr,之前不能有 ...

  2. 关于Web项目的pom文件处理

    pom文件的方式需要修改的是 <packaging>war</packaging> <profiles> <profile> <id>com ...

  3. mysql数据库管理工具(navicat for mysql)

    Navicat Premium 是一个可多重连接的数据库管理工具,它可让你以单一程序同时连接到 MySQL.Oracle.PostgreSQL.SQLite 及 SQL Server 数据库,让管理不 ...

  4. Action window Flags

    Action window 主要字段使用 含义     target 值 作用 current 当前窗口 new 新窗口 inline 内联编辑 fullscreen 全屏 main 当前窗口的主动作 ...

  5. &lt;LeetCode OJ&gt; 189. Rotate Array

    189. Rotate Array Total Accepted: 55073 Total Submissions: 278176 Difficulty: Easy Rotate an array o ...

  6. 从英语单词shell想到的

    shell当初听到以为很高级 后来才知道只是壳而已 百度百科中解释为 shell 在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器).它类似于DOS下的c ...

  7. hashCode与equals的作用与区别及应当注意的细节

    最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的,所以决定把它们研究一下. 以前写程序一直没有注意hashCode的作用 ...

  8. K均值算法总结

    这几天在一个项目上需要用到K均值聚类算法,以前都是直接利用百度老师copy一个Kmeans算法代码,这次想自己利用已知的算法思想编写一下,编写才知道,虽然熟悉了算法思想,真正实现时,还是遇到不少bug ...

  9. 关于Gradle和Gradle插件的问题

    一.   Gradle更新插件问题 当更新Andorid studio 的时候,你可能会接收到一条让你更新Gradle插件到最新版本的建议.在项目编译需要的基础上,你可以选择接受或者手动选择一个具体的 ...

  10. POJ2594 Treasure Exploration[DAG的最小可相交路径覆盖]

    Treasure Exploration Time Limit: 6000MS   Memory Limit: 65536K Total Submissions: 8301   Accepted: 3 ...