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

yizhihongxing

下面是“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中分解数字的三种方法

    当我们需要处理数字时,有时需要将它们拆分成更细粒度的数值或进行一些计算。在JavaScript中,有多种方法可以实现数字的拆分和计算,本文将介绍其中三种方法。 方法一:将数字转换成字符串处理 数值类型也可以使用字符串上的方法,将数字转换成字符串之后即可使用字符串方法处理。 示例代码: const num = 1234567; const strNum = S…

    JavaScript 2023年5月28日
    00
  • 用Flutter做桌上弹球(绘图(Canvas&CustomPaint)API)

    使用Flutter开发桌上弹球游戏可以使用Flutter自带的绘图(Canvas&CustomPaint)API,以下是实现过程的完整攻略。 步骤1:创建Flutter项目 首先,在电脑上安装Flutter开发环境,并通过Flutter命令行工具创建新项目。 flutter create tabletop_pinball_game 在创建完毕后,进入…

    JavaScript 2023年6月11日
    00
  • Android 混淆代码详解及实例

    Android 混淆代码详解及实例 Android中的混淆代码(ProGuard)是一个非常有用的工具,它可以帮助开发者混淆、压缩和优化代码,使得攻击者很难对应用程序进行反向工程或者逆向破解,有效保护您的应用程序的安全性。 混淆代码的作用 混淆代码是为了保护您的应用程序的安全性。在Android系统中,所有的应用程序都是以dex格式存储。Dex是一种基于Ja…

    JavaScript 2023年6月11日
    00
  • js实现日期级联效果

    当我们需要在日期选择器中实现级联效果时,需要知道选择器之间的依赖关系,例如年份选择器与月份选择器、月份选择器与日期选择器的关系。在JavaScript中,我们可以通过以下几个步骤来实现日期级联效果: 1. 获取DOM元素 首先需要获取到页面上对应的DOM元素,为每个日期选择器都添加一个id,例如: <select id="year"…

    JavaScript 2023年5月27日
    00
  • JavaScript实现鼠标移动粒子跟随效果

    下面是讲解“JavaScript实现鼠标移动粒子跟随效果”的完整攻略。 确定目标 首先我们需要明确我们的目标:实现鼠标移动时页面上的粒子跟随鼠标移动。这种效果会增加页面的趣味性和互动性,让用户更有参与感。 分析思路 实现鼠标移动粒子跟随效果,需要做以下几个步骤: 创建画布和粒子; 监听鼠标移动事件; 计算鼠标和粒子之间的距离和角度; 将粒子移动到鼠标所在位置…

    JavaScript 2023年6月11日
    00
  • JavaScript实现两个select下拉框选项左移右移

    下面我将详细讲解一下“JavaScript实现两个select下拉框选项左移右移”的完整攻略。 1. 确定需求 首先需要确定需求,即我们需要实现的功能。根据题目要求,我们需要实现两个select下拉框之间的左移右移操作。具体来说,我们可以将左边的下拉框的选中项移到右边的下拉框中,或将右边的下拉框的选中项移到左边的下拉框中。 2. 编写HTML代码 在实现以上…

    JavaScript 2023年6月10日
    00
  • javascript实现点击单选按钮链接转向对应网址的方法

    这里为您讲解一下“javascript实现点击单选按钮链接转向对应网址的方法”的攻略: 1. HTML 结构 首先,需要在 HTML 中添加单选按钮和链接的结构,例如: <input type="radio" name="link" value="https://www.example.com/1&qu…

    JavaScript 2023年6月11日
    00
  • 一篇了解JSON与数据存储基础知识

    一篇了解JSON与数据存储基础知识 什么是JSON JSON(JavaScript Object Notation),是一种轻量级的数据交换格式,易于阅读和编写,通常在客户端和服务器之间传递数据。它的数据格式与JavaScript中的对象(object)格式非常类似。 在JSON格式中,数据以键值对(key-value)的方式表示。一个键(key)对应一个值…

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