jQuery实现动态表单验证时文本框抖动效果完整实例

下面是“jQuery实现动态表单验证时文本框抖动效果完整实例”的完整攻略:

一、实现原理

在实现表单验证时,当用户输入错误或者未输入时,我们需要给出错误提示。为了提高提示的视觉效果,在文本框出现抖动的动画后,再展示错误提示信息。

具体实现过程如下:

  1. 给输入框添加失去焦点的事件,当输入框失去焦点时对输入框的值进行验证;
  2. 如果验证不通过,使用jQuery的动画效果来使输入框发生抖动,再给出错误提示信息;如果验证通过,则不需要进行动画;
  3. 在动画结束后,将错误提示信息隐藏。

二、具体实现步骤

以下是表单验证的完整例子,包括用户名、密码、联系方式的验证:

  1. HTML 代码
<form>
  <div>
    <label>用户名:</label>
    <input type="text" id="username"/>
    <span class="error">用户名不能为空</span>
  </div>
  <div>
    <label>密码:</label>
    <input type="password" id="password"/>
    <span class="error">密码不能为空</span>
  </div>
  <div>
    <label>联系方式:</label>
    <input type="text" id="phone"/>
    <span class="info">请填写正确的联系方式</span>
  </div>
  <button type="submit">提交</button>
</form>
  1. CSS 代码
.error {
  color: red;
  display: none;
}

.info {
  color: gray;
  display: none;
}
  1. JavaScript 代码
$(document).ready(function() {
  $("#username").blur(function() {
    var username = $(this).val();
    if (!username) {
      $(this).animate({left: "-10px"}, 50).animate({left: "10px"}, 100)
             .animate({left: "-10px"}, 100).animate({left: "10px"}, 100)
             .animate({left: "0px"}, 50);
      $(this).siblings(".error").show();
    } else {
      $(this).siblings(".error").hide();
    }
  });

  $("#password").blur(function() {
    var password = $(this).val();
    if (!password) {
      $(this).animate({left: "-10px"}, 50).animate({left: "10px"}, 100)
             .animate({left: "-10px"}, 100).animate({left: "10px"}, 100)
             .animate({left: "0px"}, 50);
      $(this).siblings(".error").show();
    } else {
      $(this).siblings(".error").hide();
    }
  });

  $("#phone").blur(function() {
    var phone = $(this).val();
    if (!/^1\d{10}$/.test(phone)) {
      $(this).animate({left: "-10px"}, 50).animate({left: "10px"}, 100)
             .animate({left: "-10px"}, 100).animate({left: "10px"}, 100)
             .animate({left: "0px"}, 50);
      $(this).siblings(".info").show();
    } else {
      $(this).siblings(".info").hide();
    }
  });
});

以上代码的实现原理如下:

  1. 使用jQuery选择器选中username、password和phone等文本框元素,并将失去焦点事件绑定到它们身上;
  2. 在失去焦点事件中,先获取输入框的值,如果该值为空或者不合法(例如联系方式不是符合手机号格式),那么使用animate()函数来使文本框发生左右抖动的效果;
  3. 动画结束后,显示相应的错误/提示信息。

三、示例说明

假设我们要实现一个表单,要求用户在用户名、密码和联系方式中都需要填写内容。

下面是对这个需求的具体实现过程:

  1. 首先,我们需要使用HTML代码定义一个表单,表单中需要包含用户名、密码和联系方式等表单元素;
  2. 然后,通过CSS设置错误提示信息的样式,使它们默认隐藏,当需要展示的时候再显示出来;
  3. 最后,使用jQuery实现失去焦点时提示信息的显示隐藏以及抖动动画等效果即可。

以下是代码示例:

  1. HTML 代码
<form>
  <div>
    <label>用户名:</label>
    <input type="text" id="username"/>
    <span class="error">用户名不能为空</span>
  </div>
  <div>
    <label>密码:</label>
    <input type="password" id="password"/>
    <span class="error">密码不能为空</span>
  </div>
  <div>
    <label>联系方式:</label>
    <input type="text" id="phone"/>
    <span class="info">请填写正确的联系方式</span>
  </div>
  <button type="submit">提交</button>
</form>
  1. CSS 代码
.error {
  color: red;
  display: none;
}

.info {
  color: gray;
  display: none;
}
  1. JavaScript 代码
$(document).ready(function() {
  $("#username").blur(function() {
    var username = $(this).val();
    if (!username) {
      $(this).animate({left: "-10px"}, 50).animate({left: "10px"}, 100)
             .animate({left: "-10px"}, 100).animate({left: "10px"}, 100)
             .animate({left: "0px"}, 50);
      $(this).siblings(".error").show();
    } else {
      $(this).siblings(".error").hide();
    }
  });

  $("#password").blur(function() {
    var password = $(this).val();
    if (!password) {
      $(this).animate({left: "-10px"}, 50).animate({left: "10px"}, 100)
             .animate({left: "-10px"}, 100).animate({left: "10px"}, 100)
             .animate({left: "0px"}, 50);
      $(this).siblings(".error").show();
    } else {
      $(this).siblings(".error").hide();
    }
  });

  $("#phone").blur(function() {
    var phone = $(this).val();
    if (!/^1\d{10}$/.test(phone)) {
      $(this).animate({left: "-10px"}, 50).animate({left: "10px"}, 100)
             .animate({left: "-10px"}, 100).animate({left: "10px"}, 100)
             .animate({left: "0px"}, 50);
      $(this).siblings(".info").show();
    } else {
      $(this).siblings(".info").hide();
    }
  });
});

通过以上代码,我们实现了一个在输入框未填写数据的时候,能够动态抖动并弹出错误提示的功能。再次强调,该攻略含有完整的HTML、CSS、JavaScript代码。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:jQuery实现动态表单验证时文本框抖动效果完整实例 - Python技术站

(0)
上一篇 2023年6月10日
下一篇 2023年6月10日

相关文章

  • JavaScript使用类似break机制中断forEach循环的方法

    在JavaScript中,一般使用forEach()方法对数组进行遍历操作。但是,如果在遍历过程中需要中断循环,类似于break操作,可以采用如下几种方式: 方式一:使用some()方法 some()方法会在数组中至少找到一个满足条件的元素时直接返回true,并中断遍历,否则返回false。因此,可以利用some()方法来达到中断forEach()循环的效果…

    JavaScript 2023年5月28日
    00
  • js实现电子时钟效果

    实现电子时钟效果可以利用JavaScript中的Date对象来获取当前时间,然后用定时器每隔一定时间刷新时间显示区域的内容。下面详细分享一个完整的攻略: 准备工作 在HTML文件中创建一个时间显示区域,可以用一个div元素来显示时间,也可以用一个table元素来布局时间显示区域。 在CSS文件中为时间显示区域设置样式,例如设置背景颜色、文字颜色、字体等。 实…

    JavaScript 2023年5月27日
    00
  • Vue Element前端应用开发之获取后端数据

    下面是关于“Vue Element前端应用开发之获取后端数据”的完整攻略。 步骤一:创建Vue Element应用 在开始之前,你需要确保已经安装了node.js和npm,因为我们将使用npm来管理Vue Element应用的依赖。接下来,我们使用Vue CLI来创建一个全新的Vue Element应用,具体步骤如下: 打开终端(macOS或Linux)或控…

    JavaScript 2023年6月11日
    00
  • 在Spring Boot中如何使用Cookies详析

    在Spring Boot中,使用Cookie的方法非常简单,只需要使用HttpServletRequest和HttpServletResponse对象即可实现。下面我们来详细讲解如何使用Cookies。 一、什么是Cookies? Cookie是存储在客户端浏览器上的数据,它可以记录用户在访问网站时的一些信息,比如用户的登录状态、购物车中的商品等信息。Coo…

    JavaScript 2023年6月11日
    00
  • JavaScript数字和字符串转换示例

    JavaScript 数字和字符串转换是开发过程中非常常见的操作之一。本攻略将带您了解如何在 JavaScript 中进行数字和字符串间的转换。 数字转字符串 在 JavaScript 中可以使用 toString() 方法将数字转换为字符串。 let num = 123; let str = num.toString(); console.log(type…

    JavaScript 2023年5月28日
    00
  • JavaScript中var与let的区别

    讲解一下JavaScript中var与let的区别,首先从定义入手。 定义 var是ES5时代定义的关键字,用于声明变量,可以声明全局变量或局部变量; let是ES6时代新增的关键字,用于声明块级作用域变量,只能在块级作用域中使用。 区别 var声明的变量存在变量提升,而let不存在。 变量提升是指变量在声明前部分代码就可以使用的行为。对于使用var声明的变…

    JavaScript 2023年5月28日
    00
  • 微信JS接口汇总及使用详解

    微信JS接口汇总及使用详解 微信JS-SDK是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。本文将详细讲解微信JS-SDK的封装使用以及开发中常用到的接口。 1. 前置准备 1.1 获取授权 在使用微信JS-SDK之前,你需要先申请一个公众号并获得授权。具体流程请查看微信公众平台文档。 1.2 引入JS文件 <script src=&qu…

    JavaScript 2023年6月10日
    00
  • Javascript柯里化实现原理及作用解析

    Javascript柯里化实现原理及作用解析 什么是柯里化? 柯里化(Currying)是一种函数式编程技巧,它是指将接受多个参数的函数转变为接受单一参数的函数,并且返回一个新函数来处理剩余的参数。 举个例子,将如下的函数: function add(x, y, z) { return x + y + z; } 转变为柯里化的形式: function add…

    JavaScript 2023年6月11日
    00
合作推广
合作推广
分享本页
返回顶部