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>

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

游戏《泰坦陨落2》msvcr120.dll丢失的多种解决方法分享

在Windows 11操作系统环境下&#xff0c;众多玩家在体验《泰坦陨落2》这款备受瞩目的射击游戏时&#xff0c;遭遇了一个令人困扰的技术问题&#xff1a;系统提示缺失msvcr120.dll文件。这一关键的动态链接库文件对于游戏的正常运行至关重要&#xff0c;它的缺失直接导致了《泰坦…

Producer源码解读

Producer源码解读 在 Kafka 中, 我们把产生消息的一方称为 Producer 即 生产者, 它是 Kafka 的核心组件之一, 也是消息的来源所在。它的主要功能是将客户端的请求打包封装发送到 kafka 集群的某个 Topic 的某个分区上。那么这些生产者产生的消息是怎么传到 Kafka 服务端的呢&a…

基于小波多普勒变换的回波信号检测matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1小波变换基础 4.2 多普勒效应与多普勒变换 4.3 小波多普勒变换 4.4 回波信号检测 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 %回波…

跨Android、iOS、鸿蒙多平台框架ArkUI-X

ArkUI是一套构建分布式应用界面的声明式UI开发框架。它使用极简的UI信息语法、丰富的UI组件、以及实时界面预览工具&#xff0c;帮助您提升移动应用界面开发效率30%。您只需使用一套ArkTS API&#xff0c;就能在Android、iOS、鸿蒙多个平台上提供生动而流畅的用户界面体验。 一…

visual studio的安装及scanf报错的解决

visual studio是一款很不错的c语言编译器 下载地址&#xff1a;官网 点击后跳转到以下界面 下滑后点击下载Vasual Sutdio&#xff0c;选择社区版即可 选择位置存放下载文件后&#xff0c;即可开始安装 安装时会稍微等一小会儿。然后会弹出这个窗口&#xff0c;我们选择安装位…

windows安装mysql5.7

看了如何学习mysql后&#xff0c;就开始本地安装mysql&#xff0c;开始学习了。 1.官网下载 官网地址&#xff1a; https://dev.mysql.com/downloads/mysql/ 选择5.7版本 点击 “No thanks, just start my download”开始下载 下载64位的压缩包版 解压下载好的.zip文件&#xf…

Diffusion Models

DDPM x 0 ∼ q ( x 0 ) x_0 \sim q(x_0) x0​∼q(x0​)是真实数据分布&#xff0c;扩散模型学习一个分布 p θ ( x 0 ) p_\theta(x_0) pθ​(x0​)去逼近真实数据分布。 p θ ( x 0 ) : ∫ p θ ( x 0 : T ) d x 1 : T (1) p_\theta(x_0) : \int p_\theta(x_{0:T})dx_{1:T} \…

el-tree获取当前选中节点及其所有父节点的id(包含半选中父节点的id)

如下图,我们现在全勾中的有表格管理及其下的子级,而半勾中的有工作台和任务管理及其子级 现在点击保存按钮后,需要将勾中的节点id及该节点对应的父节点,祖先节点的id(包含半选中父节点的id)也都一并传给后端,那这个例子里就应该共传入9个id,我们可以直接将getCheckedK…

Linux shell编程学习笔记40:stat命令

程序员必备的面试技巧 “程序员必备的面试技巧&#xff0c;就像是编写一段完美的代码一样重要。在面试战场上&#xff0c;我们需要像忍者一样灵活&#xff0c;像侦探一样聪明&#xff0c;还要像无敌铁金刚一样坚定。只有掌握了这些技巧&#xff0c;我们才能在面试的舞台上闪耀…

深度学习(1)--基础概念

一.计算机视觉(CV) (1).计算机视觉中图像表示为三位数组&#xff0c;其中三维数组中像素的值为0~255&#xff0c;像素的值越低表示该点越暗&#xff0c;像素的值越高表示该点越亮。 (2).图像表示 A*B*C&#xff0c;其中A,B分别为图像的长和宽&#xff0c;C则表示图像的颜色通道…

PBR材质纹理下载

03:10 按照视频里的顺序 我们从第6个网站开始倒数 点击本行文字或下方链接 进入查看 6大网站地址 网址查看链接&#xff1a; http://www.uzing.net/community_show-1962-48-48-35.html 06 Tectures Wood Fence 001 | 3D TEXTURES 简介&#xff1a;最大的纹理网站之一&#x…

【前后端的那些事】15min快速实现图片上传,预览功能(ElementPlus+Springboot)

文章目录 Element Plus SpringBoot实现图片上传&#xff0c;预览&#xff0c;删除效果展示 1. 后端代码1.1 controller1.2 service 2. 前端代码2.1 路由创建2.2 api接口2.2 文件创建 3. 前端上传组件封装 前言&#xff1a;最近写项目&#xff0c;发现了一些很有意思的功能&…