首页 / HTML5 入门教程 / 表单 form 标签基础

HTML5 入门教程

表单 form 标签基础

本教程共 110 篇 · 第 53 篇 · 更新于 2026-07-28 · 约 5 分钟阅读

HTML5HTML5 入门教程表单formactionmethodGETPOST

53. 表单 form 标签基础

本节目标:理解 form 元素是表单的”外壳”,掌握数据如何从浏览器发送到服务器。

网页上那些”登录”、“注册”、“搜索”框,背后都是 <form> 在工作。

form 是什么

<form> 是一个容器,把输入框、按钮等表单控件包在一起。

用户填完数据点提交,form 负责把所有数据打包发给服务器。

<form>
  <label for="name">姓名:</label>
  <input type="text" id="name" name="name">
  <button type="submit">提交</button>
</form>

没有

包裹的输入框也能存在,但提交数据时不方便统一管理。

action:数据发到哪里

action 指定数据提交到哪个 URL。

<form action="/api/login">
  <!-- 表单内容 -->
</form>

数据会发送到 /api/login 这个地址,由后端的登录接口处理。

如果不写 action,数据默认提交到当前页面。

method:怎么发

method 决定数据以什么方式发送,常用的有两个值:

GET 方式

<form method="get">

数据拼在 URL 后面,像这样:

/api/search?keyword=html&page=1

特点:

  • 数据在地址栏可见
  • URL 长度有限制(约 2000 字符)
  • 可以被收藏为书签
  • 适合搜索、筛选这类”读取”操作

POST 方式

<form method="post">

数据藏在 HTTP 请求体里,URL 上看不到。

特点:

  • 数据不在 URL 中显示
  • 没有大小限制
  • 不能收藏为书签
  • 适合登录、注册、上传文件等”写入”操作

登录表单一定要用 POST,否则密码会出现在 URL 里。

enctype:数据怎么编码

enctype 决定数据发送到服务器时的编码方式。默认是:

application/x-www-form-urlencoded

普通文本数据用这个就够了。

如果要上传文件,必须改成:

<form method="post" enctype="multipart/form-data">
  <input type="file" name="avatar">
</form>

上传文件时三个条件缺一不可:method=“post”、enctype=“multipart/form-data”、type=“file”。

autocomplete:自动填充

浏览器会记住用户之前输入过的值,下次自动提示。

<form autocomplete="on">

默认是开启的。如果你希望某个表单不被自动填充(比如验证码输入框),可以单独关闭:

<input type="text" name="captcha" autocomplete="off">

完整示例

一个登录表单的基本结构:

<form action="/api/login" method="post">
  <label for="email">邮箱:</label>
  <input type="email" id="email" name="email" required>
  <br>
  <label for="password">密码:</label>
  <input type="password" id="password" name="password" required>
  <br>
  <button type="submit">登录</button>
</form>

记住:form 只是”外壳”。里面具体有哪些输入控件,后面章节一个一个学。