零基础HTML教程(26)--表单元素标注

文章目录

  • 1. 引子
  • 2. 使用标注
  • 3. 元素的id与name
  • 4. 更好的写法
  • 5. 小结

1. 引子

我们看一个表单:

		<form>姓名:<input type="text"><br>手机号:<input type="text"><br>年龄:<input type="text"><br><input type="button" value="注册"></form>

用起来没啥问题,但是还不够完美。

仔细观察,姓名、手机号、年龄其实都是表单元素的说明,如果我们给他们加上个标签,会有意想不到的好处。

例如,视障人士专用浏览器,如果知道这几个文字是表单元素的说明,那么可以把这些文字阅读出来。

好吧,其实HTML中有这样的元素,他就是——表单元素标注,也就是label标签。

2. 使用标注

有了label,我们可以改写代码如下:

		<form><label>姓名:</label><input type="text"><br><label>手机号:</label><input type="text"><br><label>年龄:</label><input type="text"><br><input type="button" value="注册"></form>

但是还差点意思,就是标注跟表单元素没有明确的对应关系。

所以我们可以给每个元素一个唯一id属性,然后让标注的for属性指向这个id,如下:

		<form><label for="username">姓名:</label><input type="text" id="username"><br><label for="phone">手机号:</label><input type="text" id="phone"><br><label for="age">年龄:</label><input type="text" id="age"><br><input type="button" value="注册"></form>

这样label就跟表单元素一一对应上了,此时查看网页:
在这里插入图片描述
注意:当鼠标单击“姓名”的时候,焦点会自动移动到第一个输入框之内,这就是标注的一个功能。

3. 元素的id与name

上面的例子中,我们给元素加了个id:<input type="text" id="username">,之前我们还讲过,元素其实也有name属性,如果我们加上name属性的话,代码如下:

		<form><label for="username">姓名:</label><input type="text" id="username" name="username"><br><label for="phone">手机号:</label><input type="text" id="phone" name="phone"><br><label for="age">年龄:</label><input type="text" id="age" name="age"><br><input type="button" value="注册"></form>

那么id和name属性有啥区别呢,这里讲一下。

id是所有html元素的身份证,也就是唯一标志。

name往往是给表单元素起名用的,主要是将表单提交给后端时,区分表单元素提交内容。

4. 更好的写法

其实每个标注跟元素都是一组,所以如下写法可能更佳:

	<form><div><label for="username">姓名:</label><input type="text" id="username" name="username"></div><div><label for="phone">手机号:</label><input type="text" id="phone" name="phone"></div><div><label for="age">年龄:</label><input type="text" id="age" name="age"></div><div><input type="button" value="注册"></div></form>

5. 小结

标注这个知识点稍微冷门点,掌握更佳。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/3233.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MES管理系统工单管理模块的重要性

在现代制造企业中&#xff0c;MES管理系统作为生产流程管理的核心&#xff0c;工单模块则扮演着不可或缺的角色。它不仅是MES管理系统的基石&#xff0c;更是连接各个生产环节的纽带&#xff0c;确保生产流程的顺畅与高效。 首先&#xff0c;我们需要明确MES管理系统在制造企业…

深度解析 Spring 源码:揭秘BeanFactory 之谜

文章目录 一、认识BeanFactory1.1 BeanFactory的概述1.2 BeanFactory与 ApplicationContext的区别 二、BeanFactory源码解读2.1 BeanFactory 接口2.1.1 getBean()2.1.2 containsBean()2.1.3 isSingleton() 2.2 DefaultListableBeanFactory 类2.2.1 registerBeanDefinition()2.2…

什么是AI推理

AI推理是人工智能领域中的一个核心概念&#xff0c;它指的是人工智能系统通过分析和推理数据来得出结论的过程。这个过程涉及多个方面的技术和原理&#xff0c;以下是对AI推理的详细解释&#xff1a; 基本概念&#xff1a; AI推理是人工智能系统利用已有的数据和信息&#xf…

南宁建筑模板供应商:贵港市能强优品木业有限公司

贵港市能强优品木业有限公司&#xff0c;作为南宁地区知名的建筑模板生产厂家&#xff0c;拥有25年的丰富生产经验。该公司生产的建筑覆膜板以其稳定的质量和高周转次数而闻名&#xff0c;多年来参与了国内各地区众多大型建筑项目&#xff0c;并获得广大客户的一致好评。 质量稳…

前端CSS基础5(修饰文本样式的各种元素和属性)

前端CSS基础5&#xff08;修饰文本样式的各种元素及属性&#xff09; 常用文本属性 常用文本属性 color: 设置文本颜色。 font-family: 指定字体系列。 font-size: 设置字体大小。 font-weight: 控制字体粗细。 font-style: 定义字体风格&#xff0c;如斜体。 这些内容上期已有…

Object类 equals方法 hashCode方法 集合

Object类 Object类是所有类的父类&#xff0c;所以&#xff1a; Object的类的成员变量和成员方法&#xff0c;其余的类会继承&#xff0c;可以使用 Object类可以使用多态创建任意对象&#xff0c;同时拥有子类的重写方法 我们先假设子类重写了equals方法和hashCode方法&…

Promise面试题

promise与 fetch、async/await_fetch async 获取结束标志-CSDN博客 手写promise A、catch、finally、all、allsettled、any、race-CSDN博客 【建议星星】要就来45道Promise面试题一次爽到底(1.1w字用心整理) - 掘金 目录 每隔1秒输出1,2,3 红黄绿灯交替亮 按序执行数组 …

Flink 实时数仓(一)【实时数仓离线数仓对比】

前言 昨天技术面的时候&#xff0c;面试官说人家公司现在用的都是最新的技术&#xff0c;比如 Doris 等一些最新的工具&#xff0c;确实这些课是学校永远不会开设的&#xff0c;好在他说去了会带着我做一做。可是 ...... 学院舍不得让走啊 ...... 没办法&#xff0c;情况就是这…

img 图片加载失败后展示本地展示

Vue3 图片预览实现网络图片请求失败后加载本地图片 html 代码&#xff1a; <img v-if"logo" :src"imgSrc" error"handleError" />script 代码&#xff1a; import localImg from /assets/logo.pngconst networkImg https://img1.baidu.…

python代码报错requests.exceptions.SSLError

直接浏览器访问报ssl错误的网站&#xff0c;然后找到证书&#xff0c;选择导出 然后在cmd里面执行&#xff0c;去查看certifi的位置 python -c "import certifi;print(certifi.where())"找到之后用文本编辑器打开&#xff0c;我用的vscode 滚动到最后面&#xff0c…

长期供应KLM8G1GETF-B041 存储芯片

长期供应各品牌芯片&#xff1a; H58GG6MK6GX037 BK1005HS601-T BKP1005HS221-T MMUN2233LT1G GJM0335C1ER70BB01D NCP115ASN180T2G CC0402KRX5R6BB224 GRM033R71A472KA01D MMSZ4678T1G MMSZ4686T1G MMSZ4691T1G MMSZ4704T1G MMSZ5243BT1G MMSZ4709T1G GRM1555C…

DPDK UDP通信

1. 编译运行程序 环境配置&#xff1a; win10 运行 socket 客户端工具 Linux DPDK 运行 UDP 程序 注意事项&#xff1a; DPDK 跳过内核协议栈&#xff0c;所以 ARP 协议也不支持&#xff0c;需要手动在 win10 上配置静态 arp 地址&#xff0c;保证数据包发到网卡。 netsh i i …

什么是重放攻击(Reply attack)?

什么是重放攻击(Reply attack)? 重放攻击&#xff0c;也称为回放攻击&#xff0c;是一种网络攻击方式。重放攻击是一种中间人攻击&#xff0c;攻击者通过截获合法的数据传输并重新发送它们来欺骗接收方&#xff0c;让接收方误以为是合法的消息。重放攻击是非常常见的&#xf…

在IDEA中使用.env文件导入系统配置的图文教程

JetBrains的IDEA是一款功能强大的集成开发环境&#xff0c;为开发人员提供了丰富的功能和工具。使用.env文件来管理配置信息在IDEA中非常简单。 旧版本默认支持&#xff0c;新版本idea需要安装插件才可以。 这里我们可以安装EnvFile插件&#xff0c;步骤如下&#xff1a; 在弹…

BarTransitions

NavigationBarTransitions的作用 BarTransitions 有以下7中模式&#xff1a; public static final int MODE_TRANSPARENT 0; 全透明public static final int MODE_SEMI_TRANSPARENT 1; 半透明public static final int MODE_TRANSLUCENT 2;public static final int MODE_LIG…

详解数仓的向量化执行引擎

前言 适用版本&#xff1a;【基线功能】 传统的行执行引擎大多采用一次一元组的执行模式&#xff0c;这样在执行过程中CPU大部分时间并没有用来处理数据&#xff0c;更多的是在遍历执行树&#xff0c;就会导致CPU的有效利用率较低。而在面对OLAP场景巨量的函数调用次数&#x…

ctfshow web29-web40

命令执行 看清都过滤了些什么&#xff01;&#xff01; 知识点&#xff1a; web34&#xff1a;当;和()被过滤了就用语言结构&#xff0c;一般有echo print isset unset include require web37&#xff1a;data协议是将后面的字符串当成php代码执行&#xff0c;例如 /?cdat…

JVM学习笔记(四)类加载与字节码技术

目录 一、类文件结构 二、字节码指令 2.3 图解方法执行流程 1&#xff09;原始 java 代码 2&#xff09;编译后的字节码文件 3&#xff09;常量池载入运行时常量池 4&#xff09;方法字节码载入方法区 5&#xff09;main 线程开始运行&#xff0c;分配栈帧内存 6&…

python语音版东北方言小词典

目录 一.前言 二.代码 三.分析 一.前言 东北方言是中国境内最为特色和独特的方言之一,它主要分布在中国东北地区的吉林、辽宁和黑龙江省。这个地区被称为“东北三省”,所以也被称为“东北话”或“东北官话”。 东北方言与普通话(官话)有着明显的差异,包括发音、词汇…

甘特图是什么?如何利用其优化项目管理流程?

甘特图是项目管理软件中十分常见的功能&#xff0c;可以说每一个项目经理都要学会使用甘特图才能更好的交付项目。什么是甘特图&#xff1f;甘特图用来做什么&#xff1f;简单来说一种将项目任务与时间关系直观表示的图表&#xff0c;直观地展示了任务进度和持续时间。 一、甘特…