HTML form 标签

HTML form 语法

在 HTML 中,form 标签用于创建一个表单。表单用于供用户输入信息,然后提交给服务端处理。它通常包括各种文本框、单选按钮、复选框等表单元素。

语法:

<form>
    ……各种表单标签
</form>

说明:

form 标签的属性有很多,常用的如下表所示。

form 标签的属性
属性 说明
name 表单名称
method 提交方式
action 提交地址
target 打开方式
enctype 编码方式
autocomplete 是否启用自动填充
novalidate 是否跳过 HTML5 验证

1. name 属性

在一个页面中,表单可能不止一个,每一个 form 标签就是一个表单。为了区分这些表单,我们可以使用 name 属性来给表单进行命名。

<form name="myForm1"></form>
<form name="myForm2"></form>
<form name="myForm3"></form>

2. method 属性

在 form 标签中,method 属性用于指定表单数据使用哪一种 HTTP 提交方法。method 属性取值有 2 个:"get" 和 "post"。

get 的安全性较差,而 post 的安全性较好。所以在实际开发中,大多数情况下都是使用 post。

<form method="post"></form>

3. action 属性

在 form 标签中,action 属性用于指定表单数据提交到哪一个地址进行处理。

<form action="index.php"></form>

4. target 属性

form 标签的 target 属性跟 a 标签的 target 属性是一样的,都是用来指定窗口的打开方式。target 默认值为 "_self"(在当前窗口打开),如果需要以新窗口打开,可以设置为 "_blank"。

<form target="_blank"></form>

5. enctype 属性

在 form 标签中,enctype 属性用于指定表单数据提交的编码方式。一般情况下,我们不需要设置,除非你用到上传文件功能,并且必须将 enctype 设置为 "multipart/form-data"。

<form enctype="multipart/form-data"></form>

6. autocomplete 属性

在 form 标签中,autocomplete 属性用于设置表单中的输入字段是否启用自动填充功能。

  • on(默认值):启用自动填充。此时浏览器会自动填充用户之前输入过的值。
  • off:禁用自动填充。
<form autocomplete="off"></form>

7. novalidate 属性

在 form 标签中,novalidate 属性是一个布尔属性,用于设置提交表单时是否跳过 HTML5 验证(如必填项、邮箱格式等)。

  • 不写该属性(默认):进行 HTML5 验证。
  • 写上该属性:跳过(禁用) HTML5 验证。
<form> ... </form>

<form novalidate> ... </form>

HTML form 摘要

属于 HTML 表单
使用频率
兼容性 查看
官方文档 查看
MDN 查看

HTML form 示例

接下来,我们通过一个简单的例子来讲解一下 HTML form 标签是如何使用的。

示例:form 标签的基本用法

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <form action="/submit" method="post">
        <p>
            <label>用户:<input type="text" name="username" placeholder="请输入用户名"></label>
        </p>
        <p>
            <label>简介:<textarea name="bio">这是一个多行文本框</textarea></label>
        </p>
        <p>
        <label>擅长语言:
            <select name="language">
                <option value="html">HTML</option>
                <option value="css">CSS</option>
                <option value="js">JavaScript</option>
            </select>
        </label>
        </p>
        <p>
            <button type="submit">提交</button>
        </p>
    </form>
</body>
</html>

页面效果如下图所示。

HTML form标签示例

分析:

input、textarea、select、option 都是表单标签,一般要放在 form 标签内部。

HTML 表单的常见问题

1. 表单元素那么多,而且每一种元素自身还有好几个属性,应该怎么记忆呢?

对于初学者来说,表单记忆是最关心也是最为头疼的一件事。在 HTML 入门时,我们不需要花太多时间去记忆这些标签或属性,只需要感性认知即可。忘了的时候,就回来翻一下。此外,像 VSCode 等也会有代码提示,写多了自然就会记住了。

2. 表单元素是否一定要放在 form 标签内呢?

表单元素不一定都要放在 form 标签内。对于要与服务器进行交互的表单元素就必须放在 form 标签内才有效。如果表单元素不需要跟服务器进行交互,那就没必要放在 form 标签内。

3. form 标签可以包含哪些表单元素?

实际上,form 标签可以包含以下表单元素。

上一篇: col

下一篇: input

给站长反馈

绿叶网正在不断完善中,小伙伴们如果发现任何问题,还望多多给站长反馈,谢谢!

邮箱:lvyenet@vip.qq.com

「绿叶网」服务号
绿叶网服务号放大
关注服务号,微信也能看教程。
绿叶网服务号