当前位置:首页 > 技术 > 正文内容

HTML 表单元素与属性详解

访客 技术 2026年7月6日 1

input 元素的基本用法

<input> 是 HTML 表单中最核心的交互控件,其行为和外观由 type 属性决定。常见的类型包括文本输入、单选按钮和提交按钮等。

常用 input 类型

类型 说明
text 创建单行文本输入框
radio 提供互斥选项,用户只能选择其中一项
submit 生成用于提交表单数据的按钮

输入字段约束属性

通过添加特定属性,可以对用户输入进行校验和控制:

属性 作用
disabled 禁用该输入项,不可编辑或提交
max 设定数值输入的最大允许值
maxlength 限制可输入字符总数
min 设定数值输入的最小值
pattern 使用正则表达式验证输入内容格式
readonly 设置为只读状态,内容不可修改但可提交
required 标记为必填项,留空时阻止表单提交
size 定义输入框的显示宽度(以字符数为单位)
step 指定数字输入的增减步长
value 设定默认填充值

文本输入示例

使用 type="text" 创建姓名输入区域:

<form>
  姓氏:<br>
  <input type="text" name="lastName">
  <br>
  名字:<br>
  <input type="text" name="firstName">
</form>

单选按钮实现

通过相同 name 值将多个 radio 按钮关联为一组:

<form>
  <input type="radio" name="gender" value="male" checked> 男
  <br>
  <input type="radio" name="gender" value="female"> 女
</form>

提交按钮配置

点击提交按钮后,表单数据会被发送至服务器脚本处理:

<form action="/process.php">
  名称:<br>
  <input type="text" name="username" value="张三">
  <br>
  邮箱:<br>
  <input type="text" name="email" value="zhang@example.com">
  <br><br>
  <input type="submit" value="确认提交">
</form>

action 属性解析

该属性指定接收并处理表单数据的目标 URL。若未声明,则默认提交到当前页面地址。

method 属性说明

定义数据传输所采用的 HTTP 方法:

<form method="GET">  
<form method="POST"> 

GET 方法适用场景

  • 适用于非敏感信息查询(如搜索)
  • 提交参数会在浏览器地址栏中明文显示
  • 例如:/search?q=html&lang=zh
  • 注意:受 URL 长度限制,不适合大量数据

POST 方法适用场景

  • 推荐用于修改服务器数据的操作
  • 适合传输密码等敏感信息
  • 数据不会暴露在地址栏中,安全性更高

name 属性的重要性

只有设置了 name 属性的字段才能被成功提交。以下例子中仅"名字"字段会上传:

<form action="/save">
  年龄:<br>
  <input type="text" value="25">
  <br>
  名字:<br>
  <input type="text" name="userName" value="李四">
  <br><br>
  <input type="submit" value="发送">
</form>

使用 fieldset 分组表单内容

<fieldset> 可将相关控件归类显示,并配合 <legend> 添加标题说明:

<form action="/update">
  <fieldset>
    <legend>个人信息</legend>
    姓:<br>
    <input type="text" name="surname" value="王">
    <br>
    名:<br>
    <input type="text" name="givenName" value="五">
    <br><br>
    <input type="submit" value="保存资料">
  </fieldset>
</form>

form 标签完整属性列表

一个包含所有可选属性的表单结构如下:

<form 
  action="/api/data" 
  method="post" 
  target="_blank"
  accept-charset="UTF-8"
  enctype="application/x-www-form-urlencoded"
  autocomplete="on"
  novalidate
  name="userForm">
  <!-- 表单控件放在这里 -->
</form>

form 支持的主要属性

属性 功能描述
accept-charset 指定提交数据使用的字符编码,默认跟随页面编码
action 设置处理程序的路径(URL)
autocomplete 控制是否启用自动填充功能(on/off)
enctype 定义数据编码方式,尤其影响文件上传
method 选择 GET 或 POST 提交方式
name 为表单命名,便于 JavaScript 访问(如 document.forms.userForm)
novalidate 关闭浏览器内置验证机制
target 指定响应加载的位置,如 _blank 在新窗口打开
标签: HTML

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。