首页 > 其他分享 >Html Form 验证异步的提交

Html Form 验证异步的提交

时间:2024-12-01 18:35:38浏览次数:5  
标签:异步 onsubmit const Form 验证 Html 提交 return

一、需求

需要在Form的submit按钮点击输入框回车的时候计算一个耗时的验证。

 

二、解决方案

在Form 的 onsubmit事件中开启验证,并返回false阻止提交;在验证过程中,根据验证结果决定是否提交。

 

三、代码

<form action="/Index/login" method="post" onsubmit="return Submit()">
  <input type="password" name="pswd" id="fm_pswd" />
  <input class="btn" type="submit" value="登录" />
</form>
async function Sha256(data) {
  const encoder = new TextEncoder();
  const dataBuffer = encoder.encode(data);
  const hashBuffer = await crypto.subtle.digest('SHA-256', dataBuffer);
  // 将结果转换为十六进制表示
  const hashArray = Array.from(new Uint8Array(hashBuffer));
  const hashHex = hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
  return hashHex.toLocaleUpperCase();
}

function Submit() {
    if (fm_pswd.value == '') {
        layer.alert('密码未填写');
        return false;
    }
    layer.load(2);
    Sha256(fm_pswd.value + location.pathname.toLowerCase() + fmstmp.value)
        .then(val => {
            fm_pswd.value = val;
            document.querySelector('form').submit();
        });
    return false;
}
// 或者 document.querySelector('form').onsubmit = Submit;

 四、关键点说明

1. 在 Form 的 提交的时候验证:onsumit 事件Hook;在 提交验证的HTML代码中 return 很重要

2. 或者 html 代码中去掉 “onsubmit=....” , 在JS中Hook:document.querySelector('form').onsubmit = Submit;

3. 在验证代码 Submit 中 仅返回 false,阻止提交;在 验证结果出来的时候判断可以提交再直接触发 Form 的提交(不会Hook验证)

 

标签:异步,onsubmit,const,Form,验证,Html,提交,return
From: https://www.cnblogs.com/lzpong/p/18580141

相关文章

  • 科普文:软件架构系列之【彻底搞懂:单核/多核、线程/进程、串行/并行、并行/并发、同步/
    概叙相信作为一个IT工程师,搞懂单核/多核、线程/进程、串行/并行、并行/并发、同步/异步、阻塞/非阻塞等概念、及其背后的技术是必要的。科普文:软件架构之Linux系列【操作系统基本概念】-CSDN博客科普文:软件架构之Linux系列【操作系统:处理机调度Schedule/Dispatcher】-CSDN博......
  • Plastiform 复制胶泥材料在尺寸控制中的应用
    Plastiform复制胶泥简介Plastiform复制胶泥包含一系列的特殊材料,包括铸造树脂、液态硅橡胶以及各种硬度的造型黏土等形态,在尺寸控制方面具有独特优势。这些材料在固化后能保持尺寸稳定性,为精确的尺寸测量和控制提供了可靠保障。尺寸控制的重要性在众多工业领域,如汽车制造......
  • Plastiform 复制胶泥材料在尺寸控制中的应用
     Plastiform复制胶泥简介Plastiform复制胶泥包含一系列的特殊材料,包括铸造树脂、液态硅橡胶以及各种硬度的造型黏土等形态,在尺寸控制方面具有独特优势。这些材料在固化后能保持尺寸稳定性,为精确的尺寸测量和控制提供了可靠保障。尺寸控制的重要性在众多工业领域,如汽车制......
  • [HTML] HTMLCollection vs NodeList
    HTMLCollectionThe HTMLCollection interfacerepresentsagenericcollection(array-likeobjectsimilarto arguments)ofelements(indocumentorder)andoffersmethodsandpropertiesforselectingfromthelist.An HTMLCollection intheHTMLDOMislive......
  • 从 HTML 到 CSS:开启网页样式之旅(五)—— CSS盒子模型
    从HTML到CSS:开启网页样式之旅(五)——CSS盒子模型前言一、盒子模型的组成margin(外边距):border(边框):padding(内边距):content(内容):二、盒子内容区(content)关于默认宽度三、盒子内边距(padding)四、盒子边框(border)五、盒子外边距(margin)1.margin属性设置2.margin注意事项:3.marg......
  • SpectralFormer: Rethinking Hyperspectral Image Classification with Transformers
    摘要:高光谱(HS)图像以其连续的光谱信息而著称,能够通过捕捉细微的光谱差异来精细识别物质。由于其出色的局部上下文建模能力,卷积神经网络(CNNs)已被证明是HS图像分类中的强大特征提取器。然而,由于其固有网络骨架的限制,CNNs未能很好地挖掘和表示光谱签名的序列属性。为了解决这......
  • 【每天一篇深度学习论文】基于CNN和Transformer的局部和全局特征提取模块
    目录论文介绍题目:论文地址:创新点方法整体结构实验结果即插即用模块代码论文介绍题目:LEFormer:AHybridCNN-TransformerArchitectureforAccurateLakeExtractionfromRemoteSensingImagery论文地址:https://arxiv.org/pdf/2308.04397创新点这篇文章介......
  • 同步时钟,异步时钟
     synchronous&asynchronous在静态时序分析中,有一个很重要的概念是同步和异步如果launchclock与captureclock有固定的相位差,那就是同步时序如果两者没有固定的相位差,那就是异步时序一般情况下,STA只检查同步时序,不用检查异步时序同步时序又分为以下几种情况:a)launch......
  • HTML5系列(4)--Canvas 绘图详解
    前端技术探索系列:HTML5Canvas绘图详解......
  • C# + html + fetch + API + javascript
    本随笔,在html利用fetch去callwebapi对数据进行添加,修改,更新和删除。数据库与存储过程,此处略过...创建entity,方便webapi进行互动。 现在可以写WebAPI,html实现添加数据, jsfile, 上面添加的数据,将以下面的数据列呈现,  Insus.NET只是在html静态写了数据的表......