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.rhkb.cn/news/241020.html

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

相关文章

navigateTo失效-跳转不了页面解决办法!uniapp\vue

改了一个小时多的错误&#xff0c;跳转页面无论怎么样都跳转不了&#xff0c;有2个问题&#xff1a; 注意&#xff1a;uniapp的报错可以在console里检查&#xff01; 1.pages.json文件没有配置路径&#xff0c; 在pages:[ ]里面加 &#xff08;根据自己的路径进行修改 {&qu…

Python爬虫---scrapy框架---当当网管道封装

项目结构&#xff1a; dang.py文件&#xff1a;自己创建&#xff0c;实现爬虫核心功能的文件 import scrapy from scrapy_dangdang_20240113.items import ScrapyDangdang20240113Itemclass DangSpider(scrapy.Spider):name "dang" # 名字# 如果是多页下载的话, …

Byrdhouse AI实时语音翻译工具,可以在视频通话中翻译100多种语言

你是否曾经在跨国会议或与外国友人聊天时&#xff0c;因为语言不通而感到尴尬或困扰&#xff1f;是不是还在找可以实时翻译的软件或者APP&#xff1f;现在&#xff0c;有了这款语音翻译神器&#xff0c;一切都将变得简单&#xff01; 免费使用链接&#xff1a;https://byrdhous…

2809. 使数组和小于等于 x 的最少时间

2809. 使数组和小于等于 x 的最少时间 - 力扣&#xff08;LeetCode&#xff09;https://leetcode.cn/problems/minimum-time-to-make-array-sum-at-most-x/?envTypedaily-question&envId2024-01-19 经典动态规划 class Solution { public:int minimumTime(vector<int&…

合并K个升序链表(LeetCode 23)

文章目录 1.问题描述2.难度等级3.热门指数4.解题思路方法一&#xff1a;顺序合并方法二&#xff1a;分治合并方法三&#xff1a;使用优先队列合并 参考文献 1.问题描述 给你一个链表数组&#xff0c;每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中&#xff…

uniapp踩坑之项目:canvas第一次保存是空白图片

在ctx.draw()回调生成图片&#xff0c;参考canvasToTempFilePath接口文档 // data imgFilePath: null,// 缓存二维码图片canvas路径//js // 首先在draw&#xff08;&#xff09;里进行本地存储 ...... ctx.draw(false, () >{uni.canvasToTempFilePath({ // 把画布转化成临时…

c JPEG 1D DCT

步骤&#xff1a; 1. 对yuv 88 数据 8行分别1D DCT 2, 用8行 1D DCT 得到的数据生成中间88 块 Zj 3,对Zj 的8列再 1D DCT 后生成8列,用这8列组合成8*8的2D DCT 系数 准备用此1D DCT程序代替以前写的2D DCT,看能减少多少编码时间。 看网上文章&#xff0c;ffmpeg用…

翻译: Streamlit从入门到精通七 缓存Cache控制缓存大小和持续时间

Streamlit从入门到精通 系列&#xff1a; 翻译: Streamlit从入门到精通 基础控件 一翻译: Streamlit从入门到精通 显示图表Graphs 地图Map 主题Themes 二翻译: Streamlit从入门到精通 构建一个机器学习应用程序 三翻译: Streamlit从入门到精通 部署一个机器学习应用程序 四翻译…

移动端开发进阶之蓝牙通讯(四)

移动端开发进阶之蓝牙通讯&#xff08;四&#xff09; 在移动端开发实践中&#xff0c;可能会要求在不同的设备之间切换&#xff0c;从而提升用户体验&#xff1b; 或者为了提升设备的利用率&#xff0c;实现设备之间的连接和协同工作&#xff1b; 不得不通过多端连接&#xf…

RT-Thread experimental 代码学习(1)thread_sample

RTOS的最基础功能是线程。 线程的调度是如何工作的&#xff1f;RT-thread官方的实验文档是最好的参考。 老规矩&#xff0c;先放法国人doxygen。 thread_sample 代码的调用关系图 有意思的是&#xff0c;RT有两种创建线程的方式 - 静态和动态&#xff0c;粗略的理解是&…

vue+elementui实现12个日历平铺,初始化工作日,并且可点击

<template><div class"app-container"><el-form :model"queryParams" ref"queryForm" size"small" :inline"true"><el-form-item label"年份" prop"holidayYear"><el-date-…

93.乐理基础-记号篇-装饰音记号(一)级进、跳进、经过音、辅助音

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;92.乐理基础-记号篇-演奏记号&#xff08;三&#xff09;刮奏、琶音-CSDN博客 首先 级进 与 跳进 1.级进指的是忽略掉所有升降号&#xff0c;如果两个音之间不存在其它的唱名&#xff0c;那前一个音到后一个音就成…

Android中矩阵Matrix实现平移,旋转,缩放和翻转的用法详细介绍

一&#xff0c;矩阵Matrix的数学原理 矩阵的数学原理涉及到矩阵的运算和变换&#xff0c;是高等代数学中的重要概念。在图形变换中&#xff0c;矩阵起到关键作用&#xff0c;通过矩阵的变换可以改变图形的位置、形状和大小。矩阵的运算是数值分析领域的重要问题&#xff0c;对…

面试题 05.06. 整数转换(力扣)(OJ题)

题目链接&#xff1a;面试题 05.06. 整数转换 - 力扣&#xff08;LeetCode&#xff09; 所属专栏&#xff1a;刷题 整数转换。编写一个函数&#xff0c;确定需要改变几个位才能将整数A转成整数B。 示例1: 输入&#xff1a;A 29 &#xff08;或者0b11101&#xff09;, B 15…

浅谈对Maven的理解

一、什么是Maven Maven——是Java社区事实标准的项目管理工具&#xff0c;能帮你从琐碎的手工劳动中解脱出来&#xff0c;帮你规范整个组织的构建系统。不仅如此&#xff0c;它还有依赖管理、自动生成项目站点等特性&#xff0c;已经有无数的开源项目使用它来构建项目并促进团队…

供应链共舞:数字化协同推动服装企业商品计划的无缝衔接

在数字化时代&#xff0c;服装企业不再是孤立经营的个体&#xff0c;而是在供应链共舞的大舞台上实现了商品计划的无缝衔接。数字化协同不仅改变了企业内部的运营方式&#xff0c;更深刻地重塑了整个供应链的协同模式。以下探讨数字化协同如何推动服装企业商品计划实现无缝衔接…

MySQL存储函数与存储过程习题

创建表并插入数据&#xff1a; 字段名 数据类型 主键 外键 非空 唯一 自增 id INT 是 否 是 是 否 name VARCHAR(50) 否 否 是 否 否 glass VARCHAR(50) 否 否 是 否 否 ​ ​ sch 表内容 id name glass 1 xiaommg glass 1 2 xiaojun glass 2 1、创建一个可以统计表格内记录…

mybatisPlus注解将List集合插入到数据库

1.maven引入依赖&#xff08;特别注意版本&#xff0c;3.1以下不支持&#xff09; <dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.4.3.1</version></dependency&g…

Docker容器添加映射端口

方式一 简单粗暴&#xff08;需要等一段时间&#xff09; 直接给现在容器停了&#xff08;当然你要不想停也可以&#xff0c;只是打包会慢一点&#xff0c;当然我是没出意外&#xff0c;如果你怕出现特殊情况&#xff0c;那就先把容器停了&#xff09;&#xff0c;然后把这个容…

FFmpeg之AVFilter

文章目录 一、概述二、重要结构体2.1、AVFilterGraph2.2、AVFilter2.3、AVFilterContext 三、流程梳理3.1、FFmpeg AVFilter 使用整体流程3.2、过滤器构建流程3.2.1、分配AVFilterGraph3.2.2、创建过滤器源3.2.3、创建接收过滤器3.2.4、生成源和接收过滤器的输入输出3.2.5、通过…