web表单(详解)

news2025/2/25 6:30:29

目录

1. 表单的概述

1.1 表单组成

2. 表单标记

2.1 input标记

2.2 select标记

2.3 textarea标记

3.HTML5新增标记

3.1 datalist标记

3.2 date 输入类型

3.3 color输入类型

3.4 button标记

3.5 details标记和summary标记

3.6 progress标记

3.7 meter标记 

4 综合案例:


1. 表单的概述

1.1 表单组成

表单由表单标签表单域以及表单按钮组成。

1.表单标签:包含处理表单数据使用的服务器端程序的URL以及数据提交到服务器的方法。

2.表单域:包含文本框、密码框、隐藏域、多行文本框、复选框、单选按钮、下拉选择框和文件上传框等,用来收集用户需要提交到服务器的数据。

3.表单按钮:包括提交按钮、 重置按钮和普通按钮。表单按钮可以来控制其他定义了处理脚本的处理工作。

2. 表单标记

表单标记用来定义表单采集数据的范围,其起始标记和结束标记分别是<form>和</form>,表单标记的语法格式如下所示:

<form action="URL" method= "get|post" enctype="..." target="...">
</form>

其中:
(1) action="URL", 用来指定服务器端处理提交表单信息的程序是什么。

(2) method="ge|post".用来指明提交表单数据到服务器所使用的传递方法。post方法的安全性比较高,传送的数据量相比get方法要大,所以一般推荐使用post方法进行数据。get方法的安全性较差, 传输的数据量小,一般限制在2 KB左右,但其执行效率比post方法高。

(3) enctye="...", enctype属性规定在发送到服务器之前应该如何对表单数据进行编码。

(4) target.-="..."用来指定提交数据给服务器后,服务器所返回的文档结果的显示位置。该属性的取值及含义如下:

_blank:在一个新的浏览器窗口中显示文档。

_top:把文档显示在原来的最顶部浏览器窗口中,因此取消所有其他框架。

_parent:把文档显示在当前框的直接父级框中,如果没有父框时等价于_self。

_self:在当前浏览器中显示指定文档。

2.1 input标记

input标记定义的语法格式如下所示:
 

<input type="..." name="..." value="...">

其中,type属性用来说明提供给用已进行信息输入的类型,例如文本框、单选按钮或复选框。

input标记type属性的属性值及说明
属性值说明
text单行文本框
password为用户提供密码输人框
radio单选按钮
checkbox复选框
submit提交按钮
reset重置按钮
button通按钮

如果需要限制用户输入数据的最大长度,在input标记中需要使用最大长度的属性maxlength

例如:

<input type="text" name="userName" maxlength="9">

复选框和单选按钮:

单选按钮:

<input type="radio" value-"..." checked>

复选框:

<input type="checkbox" vlaue="..." checked>

隐藏域:收集或发送信息的不可见元素,对网页来说隐藏域是看不见的。

<input type="hidden" name="..." value="...">

2.2 select标记

<select>..</select>标记可以在浏览 器窗口中设置下拉式菜单或者带有滚动条菜单

<select name="" size="" multiple>
    <option value="选项1">选项1
        ……
    <option value=”选项n">选项n
</select>

select标记中有几个常用属性,分别是name、size、 multiple。

name属性是用户提交表单时,服务器程序用于获取用户输人信息的名字;

size属性控制在浏览器窗口中这个菜单选项的显示条数;

multiple属性设置用户一次是否可以选择多个选项,如果缺省multiple,用户一次只能选择一个。

注意:有几个选项就需要有几个option标记

2.3 textarea标记

<textarea>多行文本框标记。语法格式如下:

<textarea name="..." cols="..." rows="..." wrap="off/virtual/physical>
</textarea>

其中:
(1) name属性、多行文本框的名称, 这项是必不可少的,服务器端通过这个名字获取这文本框所输人的信息。
(2) cols属性。垂直列。在没有进行样式表设置时,该属性的值表示一行中可容纳的字数。文本框的宽度也是通过这个属性调整的。
(3) rows属性, 水平行,表示可显示的行数。如果rows=5, 表示可显示5行。超过行,需要拖动滚动条进行查看。
(4)通常情况下只有按下Enter键时才产生换行。将wrap属性设置为virtual或physical能实现自动换行功能( word wrapping )。

3.HTML5新增标记

3.1 datalist标记

datalist元素用于定义输人框的选项列表,列表通过datalist内的aption元素创建。如果用户不希望从列表中选择某项,也可以自行输大其他内容。datalist元素通常 与input元素联合使用来定义input的取值。在使用<datalist>标记时,需要通过id属性为其指定一个唯一标识, 然后为input元素指定list属性,将该属性值设置为option元素对应的id属性值即可

3.2 date 输入类型

data日历的语法格式:

<input type="date" name="..." value="..." min="..." max="..." step="...">

注意:现目前只有谷歌浏览器完全实现了日历功能。

3.3 color输入类型

color输人类型用于规定颜色,语法格式如下:

<input type="color" value="..." name="..."/>

其中,value值是定义初始的默认颜色。

例如:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title></title>
</head>
<body>
	请选择你喜欢的颜色:
	<input type="color" name="likecolor" value="#00ff00">
</body>
</html>

3.4 button标记

<button>标记定义一个按钮。语法结构如下:

<button>按钮内容</button>

<button>标记与<input type= "button">相比,提供了更为强大的功能和更丰富的肉
<butto>与</bution>标记之间的所有内容都是按钮的内容。

<button> 和<input type="button" >的具体区别如下。
(1)关闭标记设置。<input>禁用关闭标记</input>,其闭合的写法:<input type="submit
value="OK" />。<button>的起始标记和关团标记都是必要的,例如<button>OK</button>
(2) <button>的值并不是写在value属性中, 而是在起始标记和关闭标记之间,如上
OK,<button>的值很广泛,可以有文字、图像、移动、水平线、框架、分组框。
(3)可为button标记添加CSS样式。例如:
<button style="width:150px; height: 58px; border:0;" >0K</button>
(4)鼠标单击事件、弹出信息的代码可直接写在<button>标记中。 例如:
<button οnclick="alert( ”弹出信息的内容'); window. open('打开网页的地址')" >按钮名称</button>

3.5 details标记和summary标记

<details>标记用于描述文档或文档某个部分的细节。<summary>标记包含在<details>表
记中,并且是<details>标记的第一 个子标记,包含的内容是<details>标记的标题。初始时,表题对用户是可见的,用户单击标题时,会显示或隐藏details标记中的其他内容。如果需要默认状态为展开<details标记的内容可以在<details>标记中设置open属性,即<details open>

例如:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>details and summary</title>
</head>
<body>
	<details open>
		<summary>显示在线用户</summary>
		<ul>
			<li>李四</li>
			<li>张三</li>
			<li>王五</li>
			<li>赵六</li>
		</ul>
	</details>
</body>
</html>

结果:

 

3.6 progress标记

progress标记的作用是提示任务进度,这个标记可以用JavaScript脚本动态地改变当前的进度值。语法结构如下所示:

<progress value="值" max="值">

max属性:是一个数值,指明任务一共需要多少工作量。
valne属性: 是一 个数值,规定已经完成多少 工作量。
注意:value属性和max属性的值必须大于0,而且value的值需要小于或等于max属性的值

例如:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>progress</title>
</head>
<body>
	<progress value="50" max="100">
	</progress>
	<p>
		<strong>注意:</strong>
		IE 9或者更早版本的IE浏览器不支持 progress标签
	</p>
</body>
</html>

结果:

3.7 meter标记 

meter 标记用来定义度量衡,只用于已知最大值和最小值的度量(如磁盘使用情况、查询结果的租关性等)。

注意:<meter> 标记不能当一个进度条使用,并且IE浏览器还不支持该标记。

<meter> 标记的常用属性
属性名描述
min指定规定范围时允许使用的最小值,该属性的默认值为0,设值不可以小于0
max指定规定范围时允许使用的最大值,如果设定该属性值小于min属性值,浏览器会把min设置为最大值。默认值为1
value在元素中的实际数量值。如果设置了最小值和最大值(由min属性和max属性定义),
该值必须在最小值和最大值之间。默认值为0
high规定范围的上限值,如果该属性值小于low属性值,则把low属性值视为high属性值,
如果该属性值大于max属性值,则把max属性值视为high属性值
low规定范围的下限值,必须小于或等于high属性的值。如果low属性值小于min属性值,
浏览器把min属性的值视为low属性的值
optimum设置最佳值,属性值必须在min属性值与max属性值之间,可以大于high属性值
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>meter</title>
</head>
<body>
	<p>空间剩余大小:
		<meter min="0" max="1024" value="600">600/1024</meter>600/1024 GB
	</p>
</body>
</html>

结果:

4 综合案例:

 

 

代码演示:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<title>表单综合实例</title>
</head>
<body>
	<table border="0" width="500" align="center" cellpadding="2" cellspacing="0">
		<caption align="center"><h2>学生注册信息</h2></caption>
		<form action="server.php" method="post">
			<tr>
				<th>姓名:</th>
				<td><input type="text" name="username" size="20"></td>
			</tr>
			<tr>    
				<!-- 使用单选按钮域定义性别输入框 -->
				<th>性别:</th>
				<td>
					<input type="radio" name="sex" value="1" checked=checked/>男
					<input type="radio" name="sex" value="2"/>女
					<input type="radio" name="sex" value="3"/>保密
				</td>
			</tr>
			<tr>
				<!-- 使用下拉列表域定义学历输入框 -->
				<th>学历:</th>
				<td>
					<select name="edu">
						<option>--请选择--</option>
						<option value="1">小学</option>
						<option value="2">初中</option>
						<option value="3">高中</option>
						<option value="4">大专</option>
						<option value="5">本科</option>
						<option value="6">研究生</option>
						<option value="7">其他</option>
					</select>
				</td>
			</tr>
			<tr>
				<th>出生日期:</th>
				<td>
					<select name="birthyear">
						<option value="1999">1988
						<option value="2000" selected>2000
						<option value="2001">2001
						<option value="2002">2002
						<option value="2003">2003
						<option value="2004">2004
						<option value="2005">2005
						<option value="2006">2006
						<option value="2007">2007
					</select>
					<select name="birthmother">
						<option value="1">1
						<option value="2" selected>2
						<option value="3">3
						<option value="4">4
						<option value="5">5
						<option value="6">6
						<option value="7">7
						<option value="8">8
						<option value="9">9
						<option value="10">10
						<option value="11">11
						<option value="12">12
					</select>
					<select name="birthday">
						<option value="1">1
						<option value="2" selected>2
						<option value="3">3
						<option value="4">4
						<option value="5">5
						<option value="6">6
						<option value="7">7
						<option value="8">8
						<option value="9">9
						<option value="10">10
						<option value="11">11
						<option value="12">12
						<option value="13">13
						<option value="14">14
						<option value="15">15
						<option value="16">16
						<option value="17">17
                     <!-- 仅代码演示,后面的日期省略 -->
					</select>
				</td>
			</tr>
			<tr>
				<!-- 使用复选框按钮域定义选修课程输入框 -->
				<th>选修课程:</th>
				<td>
					<input type="checkbox" name="course[]" value="4">Linux
					<input type="checkbox" name="course[]" value="5">Apache
					<input type="checkbox" name="course[]" value="6">Mysql
					<input type="checkbox" name="course[]" value="7">PHP
				</td>
			</tr>
			<tr>
				<!-- 使用多行输入框定义自我评价输入框 -->
					<th>自我评价:</th>
					<td><textarea name="" rows="3" cols="35"></textarea></td>			
			</tr>
			<tr>
				<!-- 定义两个按钮 -->
				<td colspan="2" align="center">	
					<input type="submit" name="submit" value="提交">
					<input type="reset" name="reset" value="重置">
				</td>
			</tr>
		</form>
	</table>
</body>
</html>

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【pen200-lab】10.11.1.5

pen200-lab 学习笔记 【pen200-lab】10.11.1.5 &#x1f525;系列专栏&#xff1a;pen200-lab &#x1f389;欢迎关注&#x1f50e;点赞&#x1f44d;收藏⭐️留言&#x1f4dd; &#x1f4c6;首发时间&#xff1a;&#x1f334;2022年11月29日&#x1f334; &#x1f36d;作者…

阿里资深架构师谈 Java 进阶攻略:7 大技能 +12 份进阶笔记 + 面试 150 题

以下都是阿里大牛推荐的主流技术&#xff0c;当你全部掌握上述的这些技术那么你就已经是 P8 级别&#xff0c;而且你也已经形成了自己的体系&#xff0c;当更加新潮的技术出来时那么你自己稍微花点时间就能吃透&#xff0c;毕竟那时候你已经不是以前的那个你了&#xff0c; 懂底…

竞赛——【蓝桥杯】2022年12月第十四届蓝桥杯模拟赛第二期C/C++

1、最小的2022 问题描述 请找到一个大于 2022 的最小数&#xff0c;这个数转换成二进制之后&#xff0c;最低的 6 个二进制为全为 0 。 请将这个数的十进制形式作为答案提交。 答案提交 这是一道结果填空的题&#xff0c;你只需要算出结果后提交即可。本题的结果为一个整数…

分享 2022 年最受欢迎的黑科技工具(二)

Hello, everybody &#xff0c;2022 年最受欢迎的黑科技工具&#xff08;二&#xff09;&#xff0c;收藏一波吧&#xff0c;您的在看、转发、点赞就是对tuonioooo最大的支持&#xff01; 1.Sampler 项目地址&#xff1a;https://github.com/sqshq/sampler 官网地址&#xf…

Fmoc-PEG4-NHS酯,1314378-14-7 含有Fmoc保护胺和NHS酯

●英文&#xff1a;Fmoc-PEG4-NHS酯 ●外观以及性质&#xff1a;粘性液体或固体粉末&#xff0c;一般取决于分子量&#xff0c;是一种含有Fmoc保护胺和NHS酯的PEG连接剂。亲水性PEG间隔物增加了在水介质中的溶解度。Fmoc基团可在碱性条件下脱保护以获得游离胺&#xff0c;其可…

springboot+java+vue大学生求职招聘就业岗位匹配推荐系统

目 使用人职匹配推荐系统分为管理员和用户、企业三个权限子模块。 管理员所能使用的功能主要有&#xff1a;首页、个人中心、用户管理、企业管理、岗位信息管理、岗位类型管理、应聘信息管理、应聘状况管理、平台费用管理、系统管理等。 用户可以实现&#xff1b;首页、个人中…

JavaScript基础语法(运算符)

JavaScript基础语法&#xff08;运算符&#xff09; 概述 相比于Java,JS多了一个&#xff0c;其他的下面的运算符都一样。 一元运算符&#xff1a;&#xff0c;– 算术运算符&#xff1a;&#xff0c;-&#xff0c;*&#xff0c;/&#xff0c;% 赋值运算符&#xff1a;&…

我要涨知识——TypeScript 经典高频面试题(一)

又是一个年底来了&#xff0c;好大一批人可能又准备跑路了&#xff0c;翻了翻掘金和 CSDN 发现好多大佬都有大厂 Offer &#xff0c;看着看着我心动了&#xff01; 话不多说&#xff0c;赶紧开干&#xff0c;给自己整了一个前端面试小助手——微信小程序内搜索 “WEB学习学习加…

鲲鹏devkit性能分析工具介绍(二)

鲲鹏devkit性能分析工具介绍&#xff08;二&#xff09; 上一篇笔记录性能分析工具的全景分析模式的基本原理和重点参数的解读&#xff0c;在这片文章里将会讲解其他的分析功能特点和重点参数 进程/线程性能分析 进程/线程性能分析借鉴业界的USE方法&#xff0c;采集进程/线…

Kubernetes之Pod初始化容器

Kubernetes之Pod初始化容器 概述 ​ 初始化是很多编程语言普遍关注的问题&#xff0c;甚至有些编程语言直接支持模式构造来生成初始化程序&#xff0c;这些用于进行初始化的程序结构称为初始化器或初始化列表。初始化代码要首先运行&#xff0c;且只能运行一次&#xff0c;它们…

Java.Integer.bitCount(int)源码解析

bitCount前言一、由易到难&#xff0c;头脑热身二、简单优化&#xff0c;一题多解三、分治优化四、bitCount(int)源码优化总结参考文献前言 如何求解一个二进制中1的个数&#xff1f;有常规的O(N)法&#xff0c;还有基于分治的O(logN)&#xff0c;即Java的bitCount(int)方法。…

CockroachDB-备份与恢复(1)备份架构

本文知识点来源于官网地址https://www.cockroachlabs.com/docs/stable/backup-architecture.html CockachDB备份以作业的方式操作&#xff0c;作业是可能跨越多个SQL会话的长期运行操作。与常规SQL语句不同&#xff0c;BACKUP语句在作业工作流中执行。备份任务有四个主要阶段:…

CDMP考试时间与报名方式

CDMP“数据管理专业人士认证”证书国际通用&#xff0c;行业认可度极高&#xff0c;是一项涵盖学历教育、工作经验和专业知识考试在内的综合资格认证&#xff0c;也是 目前全球唯一数据管理方面权威性认证 。CDMP考试时间是什么时候&#xff1f;怎样报名&#xff1f;今天小编来…

C语言 =(按位与后赋值)^=(按位异或后赋值) |=(按位或后赋值)

&(按位与后赋值&#xff09; x 0x02; x & 0x01; 按位与后的结果为&#xff1a;0x00 x 0x02; x & 0x01; 字符 & 的最早历史可以追溯到公元1世纪&#xff0c;最早是拉丁语et (意为and)的连写。最早的 & 很像 E 和 T 的组合&#xff0c;随着印刷技术的发展&…

[附源码]计算机毕业设计springboot付费自习室管理小程序

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

[附源码]Python计算机毕业设计Django宠物领养与物品捐赠小程序

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

文件上传漏洞详解

文件上传漏洞详解1.文件上传漏洞1.1.文件上传漏洞定义1.2.文件上传漏洞原理1.3.文件上传思路1.3.1.常规类1.3.2.cms类1.3.3.编辑类1.3.4.其他类/CVE1.4.web界面存在的风险点1.5.文件上传实战思路2.文件上传绕过分类2.1.JS类防护2.1.1.前端验证  2.1.1.1.基本概念  2.1.1.2.…

普元中间件Primeton AppServer6.5部署SuperMap iServer

本文使用Windows环境普元中间件Primeton AppServer6.5&#xff08;以下简称PAS&#xff09;部署SuperMap iServer 一、部署前准备 本文使用SuperMap iServer 11.0.1&#xff08;10.2.1版本同理可以使用&#xff09; supermap-iserver-11.0.1-war.zip 安装完成的普元中间件PAS…

EEMD分解如何对IMF分量进行显著性检验?

EEMD简介 集合经验模态分解 (EEMD)方法是一种时间上局部的自适应时间序列分析技术, 适合于分析非线性、非平稳的时间序列. EEMD 方法改进了经验模态分解 (EMD)的 模态混叠问题 。EEMD 方法是利用多次测量取平均值的原理,通过在原数据中加入适当大小的白噪音来模拟多次观测的情…

【服务器数据恢复】hp服务器raid5磁盘掉线导致raid5不可用的数据恢复案例

服务器数据恢复环境&#xff1a; 惠普ML系列某型号塔式服务器&#xff0c;5块SAS硬盘组建raid5磁盘阵列。 服务器故障&分析&#xff1a; 服务器中的一块硬盘掉线&#xff0c;由于磁盘阵列的冗余特性&#xff0c;服务器正常运行&#xff0c;用户没有察觉。直到另外一块硬盘掉…