HTML 表单

文章目录

    • 表单
      • 什么是表单
      • GET和POST两种提交方式有什么不同?
      • 表单元素
        • 表单项外文本
        • 单行文本输入框
        • 单行文本密码框
        • 单选框
        • 复选框
        • 下拉列表框
        • 上传文件
        • 隐藏域
        • 填写邮箱
        • 填写电话
        • 填写数字
        • 填写日期
        • 进度条
        • 多行文本输入框
        • 提交按钮
        • 取消按钮
      • 用户注册案例

表单

什么是表单

form:表单元素
此元素可以通过嵌套在内部的各种表单项元素 以键值对的形式收集用户填写的信息,例如用户名密码等,当表单提交时,最终将信息提交到action设置的目的地
action:属性表示表单提交到的目的地
method:提交表单的方式,存在以下两种方式 get和post

GET和POST两种提交方式有什么不同?

GET:提交表单速度快,安全性低,通过浏览器的地址栏进行传输
格式为: 目的地?key=value&key2=value2&key3=value3&keyN=valueN
最多传递256个字符,不支持中文 仅仅支持字符串 如果使用链接则肯定为get

POST:提交速度慢,安全性高,不通过浏览器的地址栏传递,无法从地址栏发现用户书写的内容,通过消息体传递值,格式与get一致不支持中文,没有大小限制,如果进行上传操作,则必须使用post注意链接提交无法使用post,必须是get

表单元素

表单项外文本

label:用来设置表单项外的文本,for属性对应表单项中的id属性

<label for="nameid">用户姓名:</label>
单行文本输入框

type="text"此属性为固定写法
name:表示键值对的键,可以随意书写不能不写
id:对应label中的for属性,使之连为一体
required:属性表示不能不填
minlength:表示最小长度
maxlength:最大长度
placeholder:单行文本输入框的提示文本当用户书写时消失
value:此属性一般不书写,就表示键值对的值,用户在此单行文本输入框中输入的值就是value值
autocomplete:设置为off,则关闭自动完成功能
autofocus:自动获得焦点,在很多场合此属性使用较多,但是兼容性较差有时需要手动实现此功能

<input type="text" name="myname" id="nameid" required minlength="4" maxlength="8"
 		placeholder="请输入用户姓名" autocomplete="off" autofocus>
单行文本密码框

type="password"此属性为固定写法
name:键值,随意书写

所谓的随意书写: 尽量不要涉及以下几种情况
a:中文
b:空格
c:横线 -
d:数字开头
e:特殊字符
如果想隔开字符,则可以使用_,例如 user_name

其它属性与单行文本输入框完全一致

注意:

  • 在前端领域id属性不管使用何种技术id上下文唯一
  • maxlength和minlength不作为验证的手段
  • 一般复杂的验证多使用js或者正则表达式
  • 这两个属性浏览器差异性及其严重
<input type="password" name="mypass" id="passid" required autocomplete="off"
		maxlength="8" minlength="4" placeholder="请输入用户密码">
单选框

type="radio"
checked:表示默认选中
name值必须相同

<label>性别:</label>
<input type="radio" name="gender" value="0" checked /><input type="radio" name="gender" value="1" />
复选框

type="checkbox"

<label>爱好:</label>
<input type="checkbox" name="hobby" value="soccer" />足球
<input type="checkbox" name="hobby" value="running" />跑步
<input type="checkbox" name="hobby" value="sleep" />睡觉
<input type="checkbox" name="hobby" value="shopping" checked />购物
<input type="checkbox" name="hobby" value="game" />游戏
下拉列表框

selected默认选中

<label for="locationid">归属地:</label>
<select name="location" id="locationid">
	<option value="hubei">湖北</option>
	<option value="guangdong">广东</option>
	<option value="shandong" selected>山东</option>
	<option value="sichuan">四川</option>
	<option value="zhejiang">浙江</option>
</select>
上传文件

type="file"
这是唯一一个必须将method属性设置为post的表单项并且value值不再是字符串

<label for="upid">上传文件:</label>
<input type="file" name="up" id="upid" />
隐藏域

type="hidden"
用户无法从页面中查看隐藏域,一般是开发者放置在表单中的一个
元素,当表单提交时,以键值对的形式在用户不知情的情况下提交到服务器端
多使用在分页,修改等场合

<input type="hidden" name="thisiskey" value="thisisvalue" />

填写邮箱

type="email"
必须填写合法的邮箱名,否则无法验证通过
XXX@XXX.com
.com 公司
.net 网站
.gov 政府
.org 组织

<label for="emailid">输入邮箱:</label>
<input type="email" name="email" id="emailid" required />
填写电话

type="tel"
必须填写合法的电话 这个电话一般还是要搭配正则表达式,这里的pattern属性就对应正则表达式

<label for="telid">输入电话:</label>
<input type="tel" name="tel" id="telid" required />
填写数字

type="number"
max:最大值
min:最小值

<label for="testid">考核成绩:</label>
<input type="number" name="number" id="testid" min="0" max="100" value="60" />
填写日期

type="date"
选择的日期按照 yyyy-MM-dd 年月日的格式输出

<label for="dateid">出生日期:</label>
<input type="date" name="date" id="dateid" required />
进度条

兼容性较差

进度条:<meter max="100" min="0" value="60"></meter>
多行文本输入框

必须是开闭合标签
cols:一行可以输入多少个字符
rows:可以存在几行

<label for="weiboid">您有什么新鲜事告诉大家:</label>
<textarea name="weibo" id="weiboid"cols="30" rows="5" required ></textarea>
提交按钮

type="submit"
注意按钮不书写name属性,仅仅书写value
表示按键上的文字
点击此按钮后,如果不违反验证规则,则表单
提交到action设置的目的地

<input type="submit" value="提交" >
取消按钮

type="reset"
点击此按钮后,所有填写的数据全部清空

<input type="reset" value="取消" >

用户注册案例


<!DOCTYPE html>
<html lang="zh-CN">
	<head>	
		<meta charset="UTF-8">
		<title>用户注册</title>
	<body>
		<center>
			<div id="container">
				<header>	
					<h2>~用户注册~</h2>	
					<hr width="60%">
				</header>
				<section>
					<form action="suc.html" method="post">
						<label for="nameid">用户姓名:</label>
						<input type="text" name="myname" id="nameid" required minlength="4"
								maxlength="8" placeholder="请输入用户姓名" autocomplete="off" autofocus>
						<br>
						
						<label for="passid">用户密码:</label>
						<input type="password" name="mypass" id="passid" required autocomplete="off"
								maxlength="8" minlength="4" placeholder="请输入用户密码">
						<br>
						
						<label>性别:</label>
						<input type="radio" name="gender" value="0" checked /><input type="radio" name="gender" value="1" /><br>
					
						<label>爱好:</label>
						<input type="checkbox" name="hobby" value="soccer" />足球
						<input type="checkbox" name="hobby" value="running" />跑步
						<input type="checkbox" name="hobby" value="sleep" />睡觉
						<input type="checkbox" name="hobby" value="shopping" checked />购物
						<input type="checkbox" name="hobby" value="game" />游戏
						<br>
						
						<label for="locationid">归属地:</label>
						<select name="location" id="locationid">
							<option value="hubei">湖北</option>
							<option value="guangdong">广东</option>
							<option value="shandong" selected>山东</option>
							<option value="sichuan">四川</option>
							<option value="zhejiang">浙江</option>
						</select>
						<br>
					
						<label for="upid">上传文件:</label>
						<input type="file" name="up" id="upid" />
						<br>
						
						<input type="hidden" name="thisiskey" value="thisisvalue" />
					
						<label for="emailid">输入邮箱:</label>
						<input type="email" name="email" id="emailid"
						required />
						<br>
						
						<label for="telid">输入电话:</label>
						<input type="tel" name="tel" id="telid" required />
						<br>
					
						<label for="dateid">出生日期:</label>
						<input type="date" name="date" id="dateid" required />
						<br>
					
						<label for="testid">考核成绩:</label>
						<input type="number" name="number" id="testid" min="0"
						max="100" value="60" /><br>
						
						进度条:<meter max="100" min="0" value="60"></meter>
						<br>
						
						<label for="weiboid">您有什么新鲜事告诉大家:</label>
						<textarea name="weibo" id="weiboid"
						cols="30" rows="5" required ></textarea>
						<br>
						
						<input type="submit" value="提交" >
						
						<input type="reset" value="取消" >
					</form>
				</section>
				<!--
					footer:h5新增标签,表示页脚,用来放置作者信息 网站版权 法律
					合作信息等
				-->
				<footer>
					<!--
						address:用来书写地址等信息
					-->
					<address>我是页脚中的版权信息</address>
				</footer>
			</div>
		</center>
	</body>
</html>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 查询数据

今天介绍一下 MySQL 数据库使用 SELECT 语句来查询数据。 语法 首先&#xff0c;介绍一下语法。以下为在 MySQL 数据库中查询数据通用的 SELECT 语法&#xff1a; SELECT column1, column2, ... FROM table_name [WHERE condition] [ORDER BY column_name [ASC | DESC]] [LI…

FPGA之分布RAM(1)

SLICEM 资源可以实现分布式 RAM。可以实现的 RAM 类型&#xff1a; 单口 RAM 双端口 简单的双端口 四端口 下表给出了通过1SLICEM中的4个LUT可以实现的RAM类型 1.32 X2 Quad Port Distributed RAM 我们介绍过把 6 输入 LUT 当作 2 个 5输入 LUT 使用&#xff0c;在这里&a…

flutter使用get依赖实现全局loading效果,弹窗loading状态

get dialog的官网文档&#xff1a;GetDialogRoute class - dialog_route library - Dart API 可以使用Get.dialog()方法来创建一个自定义的加载弹窗&#xff0c;get框架是支持自定义弹窗效果的&#xff0c;所以我们就使用这个方式来自定义一个弹窗效果&#xff0c;并且点击遮罩…

深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置

Kubernetes Ingress 是 Kubernetes 集群中外部流量管理的重要组件。它为用户提供了一种直观而强大的方式&#xff0c;通过定义规则和配置&#xff0c;来控制外部流量的路由和访问。 1. 什么是 Ingress&#xff1f; 在 Kubernetes 中&#xff0c;Ingress 是一种 API 资源&#…

Qt简单使用与初识

&#x1f307;个人主页&#xff1a;平凡的小苏 &#x1f4da;学习格言&#xff1a;命运给你一个低的起点&#xff0c;是想看你精彩的翻盘&#xff0c;而不是让你自甘堕落&#xff0c;脚下的路虽然难走&#xff0c;但我还能走&#xff0c;比起向阳而生&#xff0c;我更想尝试逆风…

vue2 使用vuex状态管理工具 如何配置与搭建。

等我研究研究&#xff0c;下一期给大家出一个后台管理左侧侧边栏如何搭建的。 首先我们先下载一下 vuex包 yarn add vuex3 1.先导入我们需要的 Vue 和 vuex 2.注册vuex 3.创建vuex实例 4.导出store export default store 5.在main.js中导入并挂载到全局。 Vuex如何实…

寒假思维训练计划day11

每日一题&#xff0c;这两天有事&#xff0c;断更了一天&#xff0c;今天补上&#xff0c;感觉状态也不太好&#xff0c;来道1500的题压压惊。 宣传一下我总结的几个构造题模型&#xff0c;一点个人的浅薄见解&#xff1a; 1、前后缀贪心&#xff0c;比如说观察前后缀的sum&…

redis7部署集群:包含主从模式、哨兵模式、Cluster集群模式等三种模式

前言&#xff1a; redis部署集群常见的一般有三种模式&#xff1a;主从模式&#xff0c;Sentinel&#xff08;哨兵模式&#xff09;&#xff0c;Redis Cluster&#xff08;高可用Cluster集群&#xff09;&#xff0c;根据不同的需求可自定义选择部署方式。 Redis 主从模式&…

用于自动驾驶最优间距选择和速度规划的多配置二次规划(MPQP) 论文阅读

论文链接&#xff1a;https://arxiv.org/pdf/2401.06305.pdf 论文题目&#xff1a;用于自动驾驶最优间距选择和速度规划的多配置二次规划&#xff08;MPQP&#xff09; 1 摘要 本文介绍了用于自动驾驶最优间距选择和速度规划的多配置二次规划&#xff08;MPQP&#xff09;。…

css3轮播图案例

轮播图案例 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><style>…

02.Spotless代码格式化工具

Spotless代码格式化工具 1.为什么需要 在一些大型项目或开源项目&#xff0c;由于开发人员太多&#xff0c;导致各个代码格式不统一。会让整体项目的代码可读性变差&#xff0c;那么如何可以统一代码格式呢&#xff1f; 使用Spotless就可以完成 2.是什么 Spotless 是支持多…

sqli-labs关卡25(基于get提交的过滤and和or的联合注入)

文章目录 前言一、回顾上一关知识点二、靶场第二十五关通关思路1、判断注入点2、爆字段个数3、爆显位位置4、爆数据库名5、爆数据库表名6、爆数据库列名7、爆数据库数据 总结 前言 此文章只用于学习和反思巩固sql注入知识&#xff0c;禁止用于做非法攻击。注意靶场是可以练习的…

【方法】如何合并多个PDF文件?

多个PDF文件&#xff0c;想合并成一个文件&#xff0c;要怎么操作呢&#xff1f; 如果PDF文件的数量少&#xff0c;并且页数也不多&#xff0c;可以试试将内容复制黏贴到Word文档&#xff0c;再转为PDF格式&#xff1b;如果文件数量多&#xff0c;页数也多&#xff0c;就不太合…

从临床和科研场景分析ChatGPT在医疗健康领域的应用可行性

2023年4月发表在Journal Medical Systems的文献《Evaluating the Feasibility of ChatGPT in Healthcare: An Analysis of Multiple Clinical and Research Scenarios》&#xff08;评估 ChatGPT 在医疗健康领域的可行性&#xff1a;对多种临床和研究场景的分析&#xff09;介绍…

OWASP漏洞原理<最基础的数据库 第二课>

1 工具 phpstudy 的使用 MySQL是一种开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;是最流行和广泛使用的数据库系统之一。以下是MySQL的一些主要特点和功能&#xff1a; 开源性&#xff1a;MySQL是开源软件&#xff0c;可以免费使用和修改。 可靠性…

VSCode OpenGL 环境搭建

目录 下载glfw、glad、安装vscode插件C/C Project Generator 下载glfw Download | GLFW 下载 glad https://glad.dav1d.de/ vscode 插件安装&#xff1a; C/C Project Generator 创建C项目&#xff1a;commondp 项目结构如下图&#xff1a; 添加glfw、glad 添加glfw 头…

Scrcpy:掌握你的Android设备

Scrcpy&#xff1a;掌握你的Android设备 本文将介绍Scrcpy工具&#xff0c;它是一种强大的安卓设备控制工具&#xff0c;可以实现屏幕镜像、操作控制等功能。我们将探讨Scrcpy的基本原理和工作方式&#xff0c;并介绍如何使用Scrcpy连接和控制安卓设备。此外&#xff0c;我们还…

【数据恢复篇】WinHex数据擦除功能

【数据恢复篇】WinHex数据擦除功能 简单写下WinHex数据擦除功能—【蘇小沐】 目录 1、实验环境 &#xff08;一&#xff09;WinHex文件"安全擦除"功能 1、安全擦除路径 2、数值填充 3、随机字符 4、模拟加密数据 &#xff08;二&#xff09;数据删除标准 1、DoD 5…

2024/1/18 DFS BFS

目录 奇怪的电梯 马的遍历 PERKET&#xff08;个人认为很抽象&#xff09; 奇怪的电梯 P1135 奇怪的电梯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 思路&#xff0c;还是用的bfs&#xff0c;建立一个结构体类型的队列&#xff0c;一个存当前的电梯层数&#xff0c;一…

如何服务器用守护进程保证程序稳定运行

如何服务器用守护进程保证程序稳定运行 一、前言 平常在使用服务器的时候&#xff0c;服务一直不稳定&#xff0c;遂从nohup改为创建一个systemd服务来管理Python程序。 要求&#xff1a;有root权限 二、步骤 1、创建systemd服务文件 创建一个新的systemd服务文件&#xf…