JavaScript基础知识总结 17:JavaScript表单脚本

手把手教你用Docker快速部署ZLMediaKit流媒体服务器(含WebRTC配置) 本文详细介绍了如何使用Docker快速部署ZLMediaKit流媒体服务器,并配置WebRTC功能。通过容器化部署,实现环境一致性、资源隔离和快速扩展,同时提供WebRTC专项配置、多协议推拉流实战测试及生产环境优化建议,帮助开发者高效搭建企业级流媒体平台。 阅读详情

一、表单基础

Web表单在HTML中以元素表示,在JavaScript中则以HTMLFormElement类型表示。
HTMLFormElement类型继承自HTMLElement类型,因此拥有与其它HTML元素一样的默认属性,不过,HTMLFormElement也有自己的属性和方法。

  1. acceptCharset:服务器可以接收的字符集,等价于HTML中的accept-charset属性;
  2. action:请求中的URL,等价于HTML中的action属性;
  3. elements:表单中所有控件的HTMLCollection;
  4. enctype:请求的编码类型,等价于HTML中的enctype属性;
  5. length:表单中控件的数量;
  6. method:HTTP请求的方法类型,通常是get或post,等价于HTML中的method方法;
  7. name:表单的名字,等价于HTML中的name属性;
  8. reset():把表单字段重置为各自的默认值,一般情况下不建议使用;
  9. submit():提交表单;
  10. target:用于发送请求和接收相应地窗口的名字,等价于HTML中的target属性;

二、提交表单

//通用提交表单
<input type="submit" value="Submit Form">
//自定义按钮提交表单
<button type="submit">Submit Form</button>

如果表单中有上述任何一个按钮,且焦点在表单中某个控件上,则按回车键就可以提交表单。阻止这个事件的默认行为可以取消提交表单。

let form = document.getElementById("myForm");
form.addEventListener("submit",(event) => {
	//阻止表单提交
	event.preventDefault();
});

调用preventDefault()就可以阻止表单提交。
也可以通过submit()方法提交表单。

let form = document.getElementById("myForm");
form.submit();

事件提交的最大问题是如何避免二次提交。
如果提交表单之后没有什么反应,用户可能会进行第二次点击,甚至更多次,结果肯定是很烦人的,比如服务器要处理重复的请求,甚至可能造成损失(比如用户在购物,则可能会下多个单,引起不必要的客户投诉。)。解决这个问题的方式,① 在表单提交后禁用提交按钮。② 通过onsubmit()事件处理程序取消之后的表单提交。

三、表单字段的公共属性、方法、事件

1、表单字段的公共属性

  1. disabled:布尔值,表示表单字段是否禁用;
  2. form:指针,指向表单字段所属的表单,这个属性是只读的;
  3. name:字符串,这个字段的名字;
  4. readOnly:只读
  5. tabIndex:数值,表示这个字段在按Tab键时的切换顺序;
  6. type:字符串,表示字段类型,比如checkbox、radio等;
  7. value:要提交给服务器的字段值
    例如:
let form = document.getElementById("myForm");
let field = form.elements[0];
field.value = "zhangsan";
//给字段设置焦点
field.focus();

//禁用字段
field.disabled = true;

避免多出提交的代码:

let form = document.getElementById("myForm");
for.addEventListener("submit",(event) => {
	let target = event.target;
	let btn = target.elements["submit"];
	btn.disabled = true;
});

以上代码在表单的submit事件上注册了一个事件处理程序,当submit事件触发时,代码会取得提交按钮,然后将其disabled属性设置为true。注意,这个功能不能通过直接给提交按钮添加onclick事件处理程序来实现,原因是不同浏览器触发事件的时机不一样。有些浏览器会在触发表单的submit事件前先触发提交按钮的click事件,有些浏览器则会后触发click事件,对于先触发click事件的浏览器,这个按钮会在表单提交前被禁用,这就意味着表单不会被提交了。因此最好使用表单的submit事件来禁用提交按钮。

2、表单字段的公共方法

每个表单字段都有两个公共方法:focus()和blur()。
focus()方法把浏览器焦点设置到表单字段,这意味着该字段会变成活动字段并可以响应键盘事件。
blur()是focus()的反向操作,从元素上移除焦点。

3、表单字段的公共事件

  1. blur:在字段失去焦点时触发;
  2. change:在<input>和<textarea>元素的value发生变化且失去焦点时触发,或者在<select>元素中选中项发生变化时触发;
  3. focus:在字段获得焦点时触发;

四、输入过滤,屏蔽字符

下面代码屏蔽所有按键的输入:

textbox.addEventListener("keypress",(event) => {
	event.preventDefault();
});

运行以上代码会让文本框编程只读,因为所有按键都被屏蔽了。如果想只屏蔽部分特定字符,则需要检查事件的charCode属性,以确定正确的回应方式。
例如,下面就是只允许输入数字的代码:

textbox.addEventListener("keypress",(event) => {
	if(!/\d/.test(String.fromCharCode(event.charCode))){
		event.preventDefault();
	}
});

上述代码先用String.fromCharCode()把事件的charCode转换为字符串,再用正则表达式/\d/来测试。
这个正则表达式匹配所有数字字符。

五、剪切板事件

  1. beforecopy
  2. copy
  3. beforecut
  4. cut
  5. beforepaste
  6. paste

六、自动切换

JavaScript可以通过很多方式增强表单字段的易用性,最常见的是在当前字段完成时自动切换到下一个字段,比如对于已知长度的输入框,比如手机号码,在中国手机号码都是11位,可以在手机号码输入框到达11个字符时,自动把焦点移到下一个输入框。

七、HTML5约束验证API

1、必填字段required

2、更多输入类型

  • type="email";
  • type="url";

3、数值范围

除了email和url,HTML5还定义了其它几种新的输入元素类型,它们都是期待某种数据输入的,比如number、range、datetime、datetime-local、date、month、week、time。

4、输入模式

HTML5为文本字段新增了pattern属性,这个属性用于指定一个正则表达式,用户输入的文本必须与之匹配。例如只能在文本中输入数字,
<input type="text" pattern="\d+" name="count">

5、检测有效性

使用checkValidity()方法可以检测表单中任意给定字段是否有效。这个有效性检测是针对前面提到的约束API,如果字段有效就会返回true,否则返回false。

if(document.form[0].elements[0].checkValidity()){
	//字段有效
}else{
	//字段无效
}

checkValidity()方法只会告诉我们字段是否有效,而validity属性会告诉我们字段为什么有效或者无效。这个属性是一个对象,包含一系列返回布尔值的属性。

6、禁用验证

通过特定noValidate属性可以禁止对表单进行任何验证。
document.form[0].noValidate = true;//关闭验证

八、选择框编程

选择框是使用<select>和<option>创建的。

常见属性和方法:

  1. add:在relOption之前向控件中添加新的;
  2. multiple:布尔值,表示十分允许多选;
  3. options:控件中所有元素;
  4. remove(index):移除给定位置的选项;
  5. selectedIndex:选中项基于0的索引值,没有没有选中项则为-1,对于允许多选的列表,始终是第一个选项的索引;
  6. size:选择框中可见的行数;

九、关注公众号哪吒编程,回复1024,获取Java学习资料,还有不定期的送书活动

  1. C语言从入门到项目实战
  2. NoSQL数据库入门与实战
  3. SpringCloud开发从入门到实战
  4. Spring5设计模式

在这里插入图片描述

SAP_SD模块深度解析SAP信用检查中的“未清数量”取值逻辑 确认数量 vs 订单数量:如果系统配置了可用性检查(ATP),并且订单只确认了部分数量,信用检查通常只占用已确认数量的额度(具体取决于信用组的配置)。在SAP中,未清订单数量的计算并非简单读取订单行项目的目标数量(VBAK-KWMENG),而是基于**计划行(Schedule Lines)**层级来汇总的。状态的转换点:当交货单创建(VL01N)并保存时,这部分数量对应订单的“未清订单数量”减少,“未清交货数量”增加。业务人员眼中的未清数量很简单:“我卖了100个,发了30个,未清就是70个”。 阅读详情

相关推荐

STorM BGC V1.31硬件+SimpleBGC固件:从零搭建三轴云台开发环境(Keil+JLink避坑指南)

本文详细介绍了如何从零搭建STorM BGC V1.31硬件+SimpleBGC固件的三轴云台开发环境,涵盖硬件连接、Keil+JLink开发工具配置、固件编译与烧录等关键步骤,并提供了常见问题的解决方案和调试技巧,帮助开发者快速上手三轴云台开发。

weixin_28693683的博客 379

JavaScript 表单

在实际工作中,JavaScript 表单常常需要结合 JavaScript 验证 API,以确保用户提交的数据是正确的。例如,在表单提交前,我们可以通过 JavaScript 对用户名、邮箱、密码等字段进行验证,以确保数据的准确性。在实际工作中,JavaScript 表单的应用非常广泛,从简单的验证到复杂的处理,都可以用 JavaScript 实现。如果是,则显示错误消息,并防止表单提交。JavaScript 表单验证 API 可以使用在表单的验证中,来检查用户的输入是否符合预期的格式。

笔记 2248

C#构建企业级AI Agent框架:从架构到实践

AI Agent作为智能系统的核心组件,通过结合大语言模型(LLM)与规划引擎,实现了从简单对话到复杂任务处理的跨越。其关键技术包括记忆系统(RAG架构)和工具调用机制,前者通过向量数据库实现知识检索,后者则扩展了Agent的功能边界。在企业级应用中,这类系统能显著提升效率,如HR政策查询、IT故障排查等场景。C#凭借其强类型和高效性能,成为实现这类系统的理想选择,特别是在需要与现有企业系统集成的场景下。通过合理设计工具接口和安全防护措施,可以构建出既强大又可靠的智能助手。

weixin_33672109的博客 379

JavaScript表单

JS 表单 1. 获取表单 1. document.表单name属性值 2. document.getElementById(表单id) 3. document.forms[表单name属性值] 4. document.forms[索引] //从0开始 5. document.forms //取所有表单 例如: <body> <form id="myform" name="myform"></form> </body> <scr

weixin_63680062的博客 1333

基准电压 + 运放 + 低边MOS恒流源控制原理

因为恒流源强制 Iout不变,而 Vin​ 增加时,负载压降 Iout⋅Rload不变,多余的电压只能由MOS管的 VDS承担,因此 VDS必然增加。在饱和区,MOS 管的 ID 仅由 VGS决定,与 VDS 无关,这样,负载变化时,VDS可自由调整以维持 Iout恒定。当 Vin​ 小到无法满足 VDS>VGS−Vth时,MOS管进入线性区,Iout 会随 Vin​ 下降而减小,恒流失效。由于 Vref和 Rsense未变,Iout无需调整,运放无需动作,OUT保持不变,Iout恒定。

weixin_50643237的博客 2651

ElasticSearch读写性能调优

深层次理解,虽然是每隔一秒就会将内存中的segment数据刷新到segment file中,但实际上这里并没有直接到磁盘文件,而是先写入到OS Cache中。以refresh_interval为间隔时间,将保存在ES 内存缓存区中的数据 刷新到 os的文件系统缓存中,定期清空es的buffer,生成segment。注意:ES 的默认设置,已经综合考虑了数据可靠性,搜索的实时性,写入速度,一般不要盲目修改。将segment刷新到os cache中,并开放了查询权限,以提升搜索的实时性。

qq_44027353的博客 1810

JavaScript的表单、控件

表单是 web 开发中不可或缺的一部分,用于收集用户输入。本文将深入探讨 HTML 表单元素,涵盖常见元素、属性、事件和验证等主题,并提供大量代码示例,帮助你构建更强大的表单。​表单元素是 HTML 中非常重要的元素,可以用于收集用户输入。本文介绍了常见的表单元素、表单元素属性、表单事件和表单验证。表单元素是 web 开发的基础,掌握它们对于创建各种类型的表单至关重要。本文提供的知识和示例可以帮助你快速上手,并提升表单开发技能。希望本文对你有所帮助!

爱蹦跶的全栈大A阿 1424

Vue - 快速入门,这一套就够了!(Vue core + 案例 + 效果演示)

前置条件:掌握 HTML、CSS、JavaScript、AJAX.工具:VsCode.插件:Live Server(浏览器实时预览)Ps:建议都提前下载下来,没网的时候也能用.

CYK_byte的博客 4万+

JavaScript之表单基础知识(表单脚本)

用JavaScript来验证表单

但愿人长久 千里共婵娟 664

Windows 上 openclaw onboard --install-daemon 命令的安装位置和启动配置

摘要:Windows系统中,执行openclaw-cnonboard--install-daemon命令会创建计划任务OpenClawGateway,该任务在用户登录时自动运行位于%USERPROFILE%.openclaw\gateway.cmd的脚本文件来启动服务。管理方法包括通过任务计划程序或命令行(schtasks)查看/启停任务,使用openclaw gateway命令操作服务,或通过删除计划任务和脚本文件完全卸载服务。该机制确保OpenClawGateway服务随系统登录自动启动。(149字)

大坡3D软件开发 1366

AIGC游戏测试自动化:AI如何提升游戏QA效率

随着游戏产业的蓬勃发展,游戏的复杂度和规模不断增加,传统的游戏测试方式面临着巨大的挑战。本文章的目的在于深入探讨AIGC技术在游戏测试自动化中的应用,分析AI如何提升游戏QA的效率。范围涵盖了从核心概念到实际应用的各个方面,包括算法原理、数学模型、项目实战案例以及未来发展趋势等。本文将按照以下结构进行阐述:首先介绍核心概念与联系,明确AIGC和游戏测试自动化的相关概念和关系;接着讲解核心算法原理和具体操作步骤,通过Python代码进行详细说明;然后介绍数学模型和公式,并举例说明;

AI 原生应用开发的博客 1350

JavaScript(五)—— JavaScript 表单及表单事件

文章目录

PuppyGungun的博客 5171

化工模拟与优化软件:Aspen HYSYS二次开发_(15).工业应用与项目管理

项目背景、目标和主要流程。

kkchenjj的博客 1128

基于JavaScript表单脚本(详解)

** 基于JavaScript表单脚本(详解) ** 什么是表单? 一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。 表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定...

weixin_43740693的博客 2496

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

JavaScript 表单脚本

JavaScript 表单脚本 一、基本概念 HTML中表单<form>对应JS的是HTMLFormElement类型,具有HTML元素的默认属性,也有以下特有的属性和方法: acceptCharset、action、elements、enctype、length、method、name、target这几个属性都对应表单的特性, 可以通过document.for...

欧唯薇 874

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

js 表单脚本

一、表单基础知识 在 HTML 中,表单是由 <form> 元素表示的,而在 JavaScript 中,表单对应的则是 HTMLFormElement 类型。HTMLFormElement 继承了 HTMLElement,因此与其他 HTML 元素一样具有相同的默认属性。 1、HTMLFormElement 独有的属性和方法 (1)、HTMLFormElement 独有的属性 acceptCharset:服务器能够处理的字符集,等价于 HTML 中的 accept-charset 特性。

青蛙king的博客 1286

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

javascript 表单脚本详解

表单的基础知识 在HTML中,表单是由元素来组成的。在js中,表单对应的则是HTMLFormElement类型。它和其他HTML元素一样具有相同的默认属性。下面是HTMLFormElement独有的属性和方法: acceptCharset:服务器能够处理的字符集,等价于HTML的accept-charset特性 action:接收请求的URL,等价于HTML中的action特性。 elem

seacean2000的专栏 1594

JavaScript中的表单脚本

表单脚本 表单的基础知识 在HTML中,表单是由元素来表示的。而在JavaScript中,表单对应的则是HTMLFormElement类型。HTMLFormElement继承了HTMLElement,因而与其他HTML元素具有相同的默认属性。 通过document.forms可以取得页面中的所有表单。在这个集合中,可以通过数值索引或name值来取得特定的表单: var firs

xin_xun_的博客 612

JS高级程序设计——第14章 表单脚本 14.1 表单的基础知识

14.1 表单的基础知识一、表单的基础知识1. 表单元素的基本属性和方法2.取得表单元素的几种方式二、提交表单三、重置表单四、表单字段1.表单的elements属性2. 共有的表单字段属性3. 共有的表单字段方法4. 共有的表单字段事件 一、表单的基础知识 1. 表单元素的基本属性和方法 在 HTML 中,表单是由<form>元素来表示的,而在 JavaScript 中,表单对应的则是...

YuTong_的博客 941

设计网页界面, 在JavaScript脚本中DOM控制HTML表单及表单元素

设计网页界面, 在JavaScript脚本中DOM控制HTML表单及表单元素实验目的 (包含Document对象、document对象的属性、document对象的常用方法、DOM Element的常用方法、Form对象)

m0_61684063的博客 1212

JavaScript ---表单脚本总结

文章目录表单基础知识1、提交表单2、重置表单3、表单字段文本框脚本1、选择文本2、过滤输入4、HTML5 约束验证API选择框脚本1、添加选项2、移除选项3、移动和重排选项 表单基础知识 在JavaScript中,表单对应的是HTMLFormElement 类型,它继承了HTMLElement 。 acceptCharset:服务器能够处理的字符集;等价于HTML中的accept -charset特性。 action:接受请求的URL;等价于HTML中的action特性。 elements:表单中所有控件

wzg0817的博客 360

JS-表单脚本

1.表单基础知识 在HTML中,表单是由<form>元素来表示的,而在JavaScript中,表单对应的则是HTMLFormElement元素,其特有的属性和方法(挑重点) action:接收请求的URL,等价于HTML中的action特性(action 属性定义了当表单被提交时数据被送往何处) name:表单的名称,等价于HTML中name特性 reset():将所有表单域重置为默...

种子不服古怪的博客 335

JS学习13(表单脚本)

表单基础知识 在HTML中,表单是使用form元素来表示的,JS中对应的是HTMLFormElement类型。它同样继承自HTMLElement,还有一些自己的方法: acceptCharset:服务器能处理的字符集 action:接受请求的URL elements:表单中所有控件的集合(HTMLCollection) enctype:请求的编码类型 length:表单中所有控件的数量 me

exialym的博客 817

php中脚本使用表单控件,JavaScript表单脚本的示例详解

下面小编就为大家带来一篇基于JavaScript表单脚本(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧什么是表单?一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。 表单按钮:包括提交按钮、复位按钮和一...

weixin_42353402的博客 371

JavaScript表单脚本

表单基础HTMLFormElement类表单提交按钮重置表单表单字段文本框编程 JavaScript较早的用途之一:服务器端表单处理的责任,即表单验证 基础 web表单在HTML以< form >元素存在,JavaScript中HTMLFormElement类型(继承自HTMLElement) HTMLFormElement类 acceptCharset:服务器可以接收的字符集 action:请求的URL elements:表单中所有控件的HTMLCollection enctype:请求的编

hhhh 531
上一篇: 【云原生 | 中间件】Netty是干什么的?
下一篇: 通过webservice实现springboot项目间接口调用与对象传递
哪 吒
哪 吒 2022年度博客之星TOP 1 2022年度博客之星TOP 1 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 59万+粉丝 2933原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值