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

文章目录

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

1. 引子

我们看一个表单:

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

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

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

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

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

2. 使用标注

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

html 复制代码
		<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,如下:

html 复制代码
		<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属性的话,代码如下:

html 复制代码
		<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. 更好的写法

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

html 复制代码
	<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. 小结

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

相关推荐
半糖112211 分钟前
将本地项目提交到远程仓库
前端·vue.js
web150850966414 小时前
【React&前端】大屏适配解决方案&从框架结构到实现(超详细)(附代码)
前端·react.js·前端框架
理想不理想v4 小时前
前端项目性能优化(详细)
前端·性能优化
CodeToGym4 小时前
使用 Vite 和 Redux Toolkit 创建 React 项目
前端·javascript·react.js·redux
Cachel wood5 小时前
Vue.js前端框架教程8:Vue消息提示ElMessage和ElMessageBox
linux·前端·javascript·vue.js·前端框架·ecmascript
桃园码工7 小时前
4_使用 HTML5 Canvas API (3) --[HTML5 API 学习之旅]
前端·html5·canvas
桃园码工7 小时前
9_HTML5 SVG (5) --[HTML5 API 学习之旅]
前端·html5·svg
人才程序员7 小时前
QML z轴(z-order)前后层级
c语言·前端·c++·qt·软件工程·用户界面·界面
m0_548514777 小时前
前端三大主流框架:React、Vue、Angular
前端·vue.js·react.js
m0_748232398 小时前
单页面应用 (SPA):现代 Web 开发的全新视角
前端