当前位置: 首页 > news >正文

HTML5 新表单属性详解

HTML5 为 <form><input> 标签引入了一系列新属性,极大地增强了表单的功能和用户体验。这些新属性不仅简化了开发者的工作,还为用户提供了更友好、更高效的交互方式。本文将详细介绍这些新属性,并结合代码示例帮助大家更好地理解和应用。


一、HTML5 表单新属性概述

HTML5 的新表单属性主要分为两类:

  1. <form> 标签的新属性:用于控制整个表单的行为。
  2. <input> 标签的新属性:用于增强输入框的功能和验证。

这些新属性的引入,使得表单开发更加便捷,同时也提升了用户体验。


二、<form> 标签的新属性

1. autocomplete

  • 作用:控制表单是否启用自动填充功能。
  • 取值
    • on:启用自动填充(默认)。
    • off:禁用自动填充。
  • 示例
    <form autocomplete="off"><input type="text" name="username" placeholder="用户名"><input type="password" name="password" placeholder="密码"><button type="submit">提交</button>
    </form>
    

在这里插入图片描述

2. novalidate

  • 作用:禁用表单的默认验证行为。
  • 适用场景:当需要自定义表单验证时,可以使用该属性。
  • 示例
    <form novalidate><input type="email" name="email" placeholder="邮箱" required><button type="submit">提交</button>
    </form>
    

在这里插入图片描述

三、<input> 标签的新属性

1. autocomplete

  • 作用:控制单个输入框是否启用自动填充功能。
  • 取值
    • on:启用自动填充(默认)。
    • off:禁用自动填充。
  • 示例
    <input type="text" name="username" placeholder="用户名" autocomplete="off">
    

2. autofocus

  • 作用:页面加载时自动聚焦到该输入框。
  • 适用场景:提高用户输入效率。
  • 示例
    <input type="text" name="username" placeholder="用户名" autofocus>
    

3. form

  • 作用:允许输入框与表单关联,即使输入框不在表单内部。
  • 示例
    <form id="myForm"><button type="submit">提交</button>
    </form>
    <input type="text" name="username" placeholder="用户名" form="myForm">
    

在这里插入图片描述

4. formaction

  • 作用:覆盖表单的 action 属性,指定表单提交的 URL。
  • 适用场景:同一个表单可以提交到不同的处理页面。
  • 示例
    <form><input type="text" name="username" placeholder="用户名"><button type="submit">提交到 A</button><button type="submit" formaction="/submit-b">提交到 B</button>
    </form>
    

5. formenctype

  • 作用:覆盖表单的 enctype 属性,指定表单数据的编码方式。
  • 取值
    • application/x-www-form-urlencoded(默认)
    • multipart/form-data(用于文件上传)
    • text/plain
  • 示例
    <form><input type="text" name="username" placeholder="用户名"><button type="submit">提交</button><button type="submit" formenctype="multipart/form-data">上传文件</button>
    </form>
    

6. formmethod

  • 作用:覆盖表单的 method 属性,指定表单提交的 HTTP 方法。
  • 取值
    • get
    • post
  • 示例
    <form><input type="text" name="username" placeholder="用户名"><button type="submit">使用 POST 提交</button><button type="submit" formmethod="get">使用 GET 提交</button>
    </form>
    

7. formnovalidate

  • 作用:禁用表单的默认验证行为。
  • 适用场景:当需要自定义表单验证时,可以使用该属性。
  • 示例
    <form><input type="email" name="email" placeholder="邮箱" required><button type="submit">提交</button><button type="submit" formnovalidate>不验证提交</button>
    </form>
    

8. formtarget

  • 作用:覆盖表单的 target 属性,指定表单提交后响应的显示位置。
  • 取值
    • _self(默认)
    • _blank
    • _parent
    • _top
  • 示例
    <form><input type="text" name="username" placeholder="用户名"><button type="submit">在当前页面打开</button><button type="submit" formtarget="_blank">在新页面打开</button>
    </form>
    

9. heightwidth

  • 作用:指定 <input type="image"> 元素的高度和宽度。
  • 示例
    <input type="image" src="submit.png" alt="提交" width="100" height="50">
    

10. list

  • 作用:将输入框与 <datalist> 元素关联,提供输入建议。
  • 示例
    <input type="text" name="browser" list="browsers">
    <datalist id="browsers"><option value="Chrome"><option value="Firefox"><option value="Safari">
    </datalist>
    

在这里插入图片描述

11. minmax

  • 作用:指定输入框的最小值和最大值(适用于数字、日期等类型)。
  • 示例
    <input type="number" name="age" min="18" max="100">
    

12. multiple

  • 作用:允许用户输入多个值(适用于文件上传、邮箱等类型)。
  • 示例
    <input type="file" name="files" multiple>
    

在这里插入图片描述

13. pattern

  • 作用:指定输入值的正则表达式验证规则。
  • 示例
    <input type="text" name="zipcode" pattern="\d{5}" placeholder="5 位邮政编码">
    

14. placeholder

  • 作用:在输入框中显示提示文本。
  • 示例
    <input type="text" name="username" placeholder="请输入用户名">
    

在这里插入图片描述

15. required

  • 作用:指定输入框为必填项。
  • 示例
    <input type="text" name="username" placeholder="用户名" required>
    

16. step

  • 作用:指定输入值的步长(适用于数字、日期等类型)。
  • 示例
    <input type="number" name="quantity" min="0" max="100" step="10">
    

四、总结

HTML5 的新表单属性极大地增强了表单的功能和用户体验。通过合理使用这些属性,开发者可以轻松实现表单的自动填充、输入验证、多步提交等功能,同时为用户提供更友好的交互体验。

以下是本文的重点回顾:

  1. <form> 标签的新属性autocompletenovalidate
  2. <input> 标签的新属性autocompleteautofocusformformactionformenctypeformmethodformnovalidateformtargetheightwidthlistminmaxmultiplepatternplaceholderrequiredstep

希望本文能帮助大家更好地理解和应用 HTML5 的新表单属性。如果有任何问题或建议,欢迎在评论区留言!


推荐阅读:

  • HTML5 表单验证详解
  • HTML5 新特性全面解析

关注我,获取更多前端开发干货!

相关文章:

HTML5 新表单属性详解

HTML5 为 <form> 和 <input> 标签引入了一系列新属性&#xff0c;极大地增强了表单的功能和用户体验。这些新属性不仅简化了开发者的工作&#xff0c;还为用户提供了更友好、更高效的交互方式。本文将详细介绍这些新属性&#xff0c;并结合代码示例帮助大家更好地理…...

JAVA 使用反射比较对象属性的变化,记录修改日志。使用注解【策略模式】,来进行不同属性枚举值到中英文描述的切换,支持前端国际化。

1.首先定义一个接口&#xff0c;接口中有两个方法&#xff0c;分别是将属性转换成英文描述和中文描述。 其实就是将数据库中记录的 0 1 &#xff0c;转换成后面的描述 这边定义了中文转换为默认方法&#xff0c;是因为有些属性不需要进行中文转换&#xff0c;或者该属性的枚举…...

Docker入门学习

一、容器 1. 将单个操作系统中的资源划分到孤立的组中&#xff0c;在孤立的组中平衡有冲突的资源使用需求 2. Docker提供了容器管理的工具可以无需关注底层操作&#xff0c;使用效果类似于轻量级的虚拟机&#xff0c; 并且容器的创建和停止相对于虚拟机来说比较快&am…...

吴恩达深度学习——神经网络介绍

文章内容来自BV11H4y1F7uH&#xff0c;仅为个人学习所用。 文章目录 什么是神经网络引入神经网络神经元激活函数ReLU隐藏单元 用神经网络进行监督学习监督学习与无监督学习举例 什么是神经网络 引入 已经有六个房子的数据集&#xff0c;横轴为房子大小&#xff0c;纵轴为房子…...

STM32之CubeMX新建工程操作(十八)

STM32F407 系列文章 - STM32CubeMX&#xff08;十八&#xff09; 目录 前言 一、STM32CubeMX 二、新建工程 ​编辑 1.创建工程 2.选择芯片型号 3.Pinout引脚分配 1.SYS配置 2.RCC配置 3.定时器配置 4.GPIO引脚配置 5.中断配置 6.通讯接口配置 7.插件Middleware配…...

Postgresql源码(140)理解PG的编译流程(make、Makefile、Makefile.global.in)

PG16 PG中使用的makefile看起来代码比较多&#xff0c;但是实际逻辑比较简单&#xff0c;这里做一些抽象总结。 总结 Makefile.global.in的$(recurse)宏自动生成了target&#xff0c;可以方便的进入内存目录进行编译。 all: all-common-recurse all-common-recurse: submak…...

logback日志自定义占位符

前言 在大型系统运维中&#xff0c;很大程度上是需要依赖日志的。在java大型web工程中&#xff0c;一般都会使用slf4jlogback这一个组合来实现日志的管理。 logback中很多现成的占位符可以可以直接使用&#xff0c;比如线程号【%t】、时间【%d】、日志等级【%p】&#xff0c;…...

Vue平台开发三——项目管理页面

前言 对于多个项目的使用&#xff0c;可能需要进行项目切换管理&#xff0c;所以这里创建一个项目管理页面&#xff0c;登录成功后跳转这个页面&#xff0c;进行选择项目&#xff0c;再进入Home页面展示对应项目的内容。 一、实现效果图预览 二、页面内容 功能1、项目列表展…...

用于牙科的多任务视频增强

Multi-task Video Enhancement for Dental Interventions 2022 miccai Abstract 微型照相机牢牢地固定在牙科手机上&#xff0c;这样牙医就可以持续地监测保守牙科手术的进展情况。但视频辅助牙科干预中的视频增强减轻了低光、噪音、模糊和相机握手等降低视觉舒适度的问题。…...

【Node.js]

一、概述 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境 &#xff0c;使用了一个事件驱动、非阻塞式I/O模型&#xff0c; 让JavaScript 运行在服务端的开发平台&#xff0c;它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。 官网地…...

【Elasticsearch】腾讯云安装Elasticsearch

Elasticsearch 认识Elasticsearch安装Elasticsearch安装Kibana安装IK分词器分词器的作用是什么&#xff1f;IK分词器有几种模式&#xff1f;IK分词器如何拓展词条&#xff1f;如何停用词条&#xff1f; 认识Elasticsearch Elasticsearch的官方网站如下 Elasticsearch官网 Ela…...

【网络协议】ACL(访问控制列表)第一部分

概述 网络安全在网络中的重要性不言而喻。本文&#xff08;即第一部分&#xff09;将介绍ACL的基本概念以及标准ACL的配置。第二部分将重点讨论扩展ACL、其他相关概念以及ACL的故障排除。 文章目录 概述ACL定义数据包过滤ACLACL配置指导原则配置ACL的三条规则ACL功能ACL工作原…...

2025.1.20——一、[RCTF2015]EasySQL1 二次注入|报错注入|代码审计

题目来源&#xff1a;buuctf [RCTF2015]EasySQL1 目录 一、打开靶机&#xff0c;整理信息 二、解题思路 step 1&#xff1a;初步思路为二次注入&#xff0c;在页面进行操作 step 2&#xff1a;尝试二次注入 step 3&#xff1a;已知双引号类型的字符型注入&#xff0c;构造…...

Spring Boot 整合 Knife4j:打造更优雅的 API 文档

在现代 Web 应用开发中&#xff0c;API 文档的重要性不言而喻。清晰、准确、易用的 API 文档不仅可以方便开发者理解和使用 API&#xff0c;还能提高团队协作效率。Knife4j 是一个基于 Swagger 的增强型 API 文档工具&#xff0c;它可以为 Spring Boot 项目生成美观、易于交互的…...

Kafka 源码分析(一) 日志段

首先我们的 kafka 的消息本身是存储在日志段中的, 对应的源码是下面这段代码: class LogSegment private[log] (val log: FileRecords,val lazyOffsetIndex: LazyIndex[OffsetIndex],val lazyTimeIndex: LazyIndex[TimeIndex],val txnIndex: TransactionIndex,val baseOffset:…...

javaEE初阶————多线程初阶(2)

今天给大家带来第二期啦&#xff0c;保证给大家讲懂嗷&#xff1b; 1&#xff0c;线程状态 NEW安排了工作还未开始行动RUNNABLE可工作的&#xff0c;或者即将工作&#xff0c;正在工作BLOCKED排队等待WAITING排队等待其他事TIMED_WAITING排队等待其他事TERMINATED工作完成了 …...

Redis学习笔记1【数据类型和常用命令】

Redis学习笔记 基础语法 1.数据类型 String: 最基本的类型&#xff0c;可以存储任何数据&#xff0c;例如文本或数字。示例值为 hello world。Hash: 用于存储键值对&#xff0c;适合存储对象或结构体。示例值为 {"name": "Jack", "age": 21}。…...

JavaWeb项目——查询角色列表到页面中——转发模式

一、知识点 1、req.getRequestDispatch与resp.sendRedirect跳转方式的比较 一、实现原理 1、req.getRequestDispatcher&#xff1a; 属于服务器端跳转&#xff0c;在服务器内部将请求转发给另一个资源&#xff08;如另一个 Servlet 或 JSP 页面&#xff09;。调用 getReques…...

feign调用跳过HTTPS的SSL证书校验配置详解

一、问题抛出 如果不配置跳过SSL证书校验&#xff0c;当Feign客户端尝试连接到一个使用自签名证书的服务器时&#xff0c;可能会抛出类似以下的异常&#xff1a; javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building faile…...

今天也是记录小程序进展的一天(破晓时8)

嗨嗨嗨朋友们&#xff0c;今天又来记录一下小程序的进展啦&#xff01;真是太激动了&#xff0c;项目又迈出了重要的一步&#xff0c;231啦&#xff01;感觉每一步的努力都在积累&#xff0c;功能逐渐完善&#xff0c;离最终上线的目标越来越近了。大家一直支持着这个项目&…...

synchronized 学习

学习源&#xff1a; https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖&#xff0c;也要考虑性能问题&#xff08;场景&#xff09; 2.常见面试问题&#xff1a; sync出…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

线程同步:确保多线程程序的安全与高效!

全文目录&#xff1a; 开篇语前序前言第一部分&#xff1a;线程同步的概念与问题1.1 线程同步的概念1.2 线程同步的问题1.3 线程同步的解决方案 第二部分&#xff1a;synchronized关键字的使用2.1 使用 synchronized修饰方法2.2 使用 synchronized修饰代码块 第三部分&#xff…...

Python实现prophet 理论及参数优化

文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候&#xff0c;写过一篇简单实现&#xff0c;后期随着对该模型的深入研究&#xff0c;本次记录涉及到prophet 的公式以及参数调优&#xff0c;从公式可以更直观…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

【C语言练习】080. 使用C语言实现简单的数据库操作

080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...

Typeerror: cannot read properties of undefined (reading ‘XXX‘)

最近需要在离线机器上运行软件&#xff0c;所以得把软件用docker打包起来&#xff0c;大部分功能都没问题&#xff0c;出了一个奇怪的事情。同样的代码&#xff0c;在本机上用vscode可以运行起来&#xff0c;但是打包之后在docker里出现了问题。使用的是dialog组件&#xff0c;…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

nnUNet V2修改网络——暴力替换网络为UNet++

更换前,要用nnUNet V2跑通所用数据集,证明nnUNet V2、数据集、运行环境等没有问题 阅读nnU-Net V2 的 U-Net结构,初步了解要修改的网络,知己知彼,修改起来才能游刃有余。 U-Net存在两个局限,一是网络的最佳深度因应用场景而异,这取决于任务的难度和可用于训练的标注数…...

软件工程 期末复习

瀑布模型&#xff1a;计划 螺旋模型&#xff1a;风险低 原型模型: 用户反馈 喷泉模型:代码复用 高内聚 低耦合&#xff1a;模块内部功能紧密 模块之间依赖程度小 高内聚&#xff1a;指的是一个模块内部的功能应该紧密相关。换句话说&#xff0c;一个模块应当只实现单一的功能…...