当前位置: 首页 > 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;离最终上线的目标越来越近了。大家一直支持着这个项目&…...

KubeSphere 容器平台高可用:环境搭建与可视化操作指南

Linux_k8s篇 欢迎来到Linux的世界&#xff0c;看笔记好好学多敲多打&#xff0c;每个人都是大神&#xff01; 题目&#xff1a;KubeSphere 容器平台高可用&#xff1a;环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

GC1808高性能24位立体声音频ADC芯片解析

1. 芯片概述 GC1808是一款24位立体声音频模数转换器&#xff08;ADC&#xff09;&#xff0c;支持8kHz~96kHz采样率&#xff0c;集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器&#xff0c;适用于高保真音频采集场景。 2. 核心特性 高精度&#xff1a;24位分辨率&#xff0c…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...

elementUI点击浏览table所选行数据查看文档

项目场景&#xff1a; table按照要求特定的数据变成按钮可以点击 解决方案&#xff1a; <el-table-columnprop"mlname"label"名称"align"center"width"180"><template slot-scope"scope"><el-buttonv-if&qu…...