首页 > 其他分享 >实战表单验证学习

实战表单验证学习

时间:2024-06-14 21:32:12浏览次数:12  
标签:实战 console log form 验证 表单 login ev email

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>表单事件</title>
    <style>
      @import url(style1.css);
    </style>
  </head>
  <body>
    <!-- <form action="check.php" method="POST" id="login" onsubmit="return false"> -->
    <form action="check.php" method="POST" id="login">
      <label class="title">用户登录</label>
      <label for="email">邮箱:</label>
      <input type="email" id="email" name="email" value="" autofocus />
      <label for="password">密码:</label>
      <input type="password" id="password" name="password" />
      <!-- <button name="submit" type="submit">登录</button> -->
      <button name="submit">登录</button>
    </form>

    <script>
      const login = document.forms.login;
      //   login.onsubmit = () => console.log("提交了");
      // 禁用元素的默认行为
      //   login.onsubmit = ev => ev.preventDefault();
      //   login.onsubmit = function (ev) {
      //     ev.preventDefault();
      //   };

      //   login.控制的name属性就可以
      login.submit.onclick = ev => {
        //   禁用默认提交行为
        ev.preventDefault();
        // 禁用冒泡
        ev.stopPropagation();
        // 按钮
        // console.log(ev.currentTarget);
        // 表单
        // console.log(ev.currentTarget.form);
        // 非空验证
        isEmpty(ev.currentTarget.form);
      };
      function isEmpty(form) {
        console.log(form.email.value.length);
        console.log(form.password.value.length);
        if (form.email.value.length === 0) {
          alert("邮箱不能为空");
          form.email.focus();
          return false;
        } else if (form.password.value.length === 0) {
          alert("密码不能为空");
          form.email.focus();
          return false;
        } else {
          alert("验证通过");
        }
      }

      //   login.email.oninput = ev => console.log(ev.target.value);
      //   login.email.onblur = ev => console.log(ev.target.value);
      //   change: 值变了且失去焦点才触发 input + blur
      //   login.email.onchange = ev => console.log(ev.target.value);

      // submit: 提交
      // focus: 焦点
      // input: 用户输入内容时发生
      // blur: 失去焦点触发
      // change: 值发生变化
      //   select:
    </script>
  </body>
</html>

  

body {
    background-color: mediumturquoise;/
    color: #444;
    font-weight: lighter;
  }
  #login {
    width: 20em;
    border-radius: 0.3em;
    box-shadow: 0 0 1em #888;
    box-sizing: border-box;
    padding: 1em 2em 1em;
    margin: 2em auto;
    background-color: paleturquoise;
    display: grid;
    grid-template-columns: 3em 1fr;
    gap: 1em 0;
  }
  #login .title {
    grid-area: auto / span 2;
    place-self: center;
  }
  #login input {
    border-radius: 0.3em;
    border: none;
    padding-left: 0.3em;
  }
  #login input:focus {
    outline: none;
    box-shadow: 0 0 5px seagreen;
    border-radius: 0.2em;
    transition: 0.5s;
  }
  #login button {
    grid-area: auto / 2 / auto;
    outline: none;
    background-color: lightseagreen;
    border: none;
    height: 2em;
    color: #fff;
  }
  #login button:hover {
    cursor: pointer;
    background-color: seagreen;
    transition: 0.5s;
  }
  

  

标签:实战,console,log,form,验证,表单,login,ev,email
From: https://www.cnblogs.com/QWD7986/p/18248699

相关文章

  • 【Azure Developer】记录一段验证AAD JWT Token时需要设置代理获取openid-configurati
    问题描述如果在使用.NET代码对AADJWTToken进行验证时候,如果遇见无法访问 Unabletoobtainconfigurationfrom:'https://login.partner.microsoftonline.cn/<commonoryourtenantid>/v2.0/.well-known/openid-configuration‘,可以配置 HttpClientHandler.Proxy代理。......
  • LVS负载均衡集群企业级应用实战-LVS-DR(四)
    目录LVS-DR 一.环境准备二.对虚拟主机操作三.对真实服务器操作 四.打开网页测试LVS-DR 一.环境准备三台虚拟机,都要在同一网段内,统一关闭防火墙和selinux,时间同步,配置好YUM源。系统用centos和roucky都行。主机名主机IP模拟服务器系统用途localhostVIP:1......
  • 04《android studio开发实战(第三版)》第七到十章阅读笔记
    第七章:持久化存储本章介绍了SharedPreferences的使用方法,它是一种轻量级的存储方案,用于保存简单的键值对数据,如用户设置和配置。 学习了如何创建SharedPreferences对象,使用getSharedPreferences()方法读取和写入数据,以及如何使用apply()和commit()提交修改。了解了如何在Andro......
  • 【vue】表单行表格
    FormTable.vue<template><tableclass="form-tabletd-centerreadOnly":class="{'is-striped':isStriped}"><colgroup><colv-for="(it,i)incols":key="......
  • jquery.form.js(ajax表单提交)
    参考代码:$("form").submit(function(){$(this).ajaxSubmit({url:"login",//设置提交的url,可覆盖action属性target:"#box",//服务器返回的内容存放在#box里type:"GET",dateTy......
  • 实战分析Java的异步编程,并通过CompletableFuture进行高效调优
    一、写在开头在我们一开始讲多线程的时候,提到过异步与同步的概念,这里面我们再回顾一下:同步:调用方在调用某个方法后,等待被调用方返回结果;调用方在取得被调用方的返回值后,再继续运行。调用方顺序执行,同步等待被调用方的返回值,这就是阻塞式调用;异步:调用方在调用某个方法后,直接返......
  • 【云岚到家】-day03-2-门户缓存实现实战
    【云岚到家】-day03-2-门户缓存实现实战5缓存实现5.2定时任务更新缓存5.2.1分布式调度平台5.2.1.1jdk提供的Timer定时器5.2.1.2使用第三方Quartz方式5.2.1.3使用分布式调度平台XXL-JOB5.2.2XXL-JOB5.2.2.1介绍5.2.2.2部署调度中心5.2.2.3执行器5.2.2定义缓......
  • java写一个验证码
    生成验证码内容:可以是小写字母,也可以是大写字母,还可以是数字规则长度为5内容中是四位字母,1位数字。其中数字只有1位,但是可以出现在任意的位置。packageUser;importjava.util.ArrayList;importjava.util.List;importjava.util.Random;publicclassTest{p......
  • ShardingSphere5入门到实战
    ShardingSphere5入门到实战第01章高性能架构模式互联网业务兴起之后,海量用户加上海量数据的特点,单个数据库服务器已经难以满足业务需要,必须考虑数据库集群的方式来提升性能。高性能数据库集群的第一种方式是“读写分离”,第二种方式是“数据库分片”。1、读写分离架构读写分......
  • Web应用课 第四讲 内外边距、盒子模型、位置、浮动、名片实战
    内外边距margin内边距margin属性为给定元素设置所有四个(上下左右)方向的外边距属性。可以接受1~4个值(上、右、下、左的顺序)可以分别指明四个方向:margin-top、margin-right、margin-bottom、margin-left取值length:固定值percentage:相对于包含块的宽度,以百分比值为外边距。a......