web表单(详解)

news/2024/4/24 23:30:09/文章来源:https://blog.csdn.net/m0_52896041/article/details/128075334

目录

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.luyixian.cn/news_show_38534.aspx

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

相关文章

云原生微服务治理技术朝无代理架构的演进之路

摘要&#xff1a;本文基于对微服务治理技术从SOA, 微服务框架&#xff0c;到云原生架构的历史发展总结&#xff0c;提出了一种新的基于Javaagent技术的新一代无代理架构的服务治理技术&#xff0c;并介绍了其相关的代表性开源项目Sermant。本文分享自华为云社区《云原生微服务治…

Docker安装Redis集群失败经历汇总

在程序员的开发过程中&#xff0c;Redis可以说基本上是必不可少的缓存中间件。不管是二进制包还是docker安装Redis的文章在网上都是数不胜数。我之前自己玩Redis的时候基本不是二进制包安装就是docker安装&#xff0c;也没有尝试过集群方式。每次需要的时候&#xff0c;网上百度…

Cloud-computing 实验镜像 chinaskills_cloud_iaas.iso chinaskills_cloud_paas.iso

Cloud-computing 实验镜像 最近因新项目再次进行云计算环境的搭建&#xff0c; 找这两个镜像&#xff08; 找chinaskills_cloud_paas.iso chinaskills_cloud_iaas.iso&#xff09;颇为费劲&#xff0c;用尽九牛二虎之力总算找到了&#xff0c;该大侠还分享了诸多系统镜像和完…

Centos7搭建SVN代码控制服务器

Centos7搭建SVN代码控制服务器检查SVN是否安装创建SVN版本库配置代码库设置允许访问远程仓库的用户帐号密码设置权限控制设置SVN服务配置启动svn与停止启动SVN关闭SVN访问拉取远程仓库代码检查SVN是否安装 1、centos7系统自带SVN rpm -qa subversion2、如果没有则通过yum安装 …

Day15--加入购物车-初始化vuex

1.加入购物车&#xff1a; 我的操作&#xff1a; ************************************************************************************************************* 2.购物车里面的商品数据在多个页面都会用到。所以把购物车里面的商品数据存储在vuex里面&#xff0c; 我的…

Windows10安装配置allure

1、allure官方文档&#xff1a; https://docs.qameta.io/allure/#_about 官方文档中&#xff0c;windows部署allure步骤&#xff1a; 奈何提示scoop不是內部命令 2、安装scoop scoop官方文档&#xff1a;https://scoop.sh/ 需要打开power shell&#xff0c;执行提示的两条…

外汇天眼:英国研究人员与南非合作应对气候变化

随着南非对气候变化的担忧加剧&#xff0c;英国卫生部已同意与南非就九个不同项目组建一个合作研究团队&#xff0c;旨在拯救生命。 南非总统西里尔拉马福萨 (Cyril Ramaphosa) 与英国卫生大臣在克里克研究所会面后达成了合作协议&#xff0c;克里克研究所如今被称为欧洲最大的…

BUUCTF Misc 来首歌吧 荷兰宽带数据泄露 面具下的flag 九连环

来首歌吧 下载文件 使用Audacity打开 可以发现框出来的一串,放大查看 有长有短有空格&#xff0c;大概率是摩斯密码 ...../-.../-.-./----./..---/...../-..../....-/----./-.-./-.../-----/.----/---../---../..-./...../..---/./-..../.----/--.../-../--.../-----/----./.…

汽车蓄电池低压报警设计

目 录 摘 要 I Abstract II 第一章 绪论 1 1.1 选题背景及意义 1 1.2 国内外发展状况 2 1.2.1国内发展现状 2 1.2.2 国外蓄电池监测系统研究现状 2 1.3 研究主要内容 4 第2章 系统总体设计与算法确定 5 2.1 监测系统总体设计原理 5 2.2 主控芯片的选择 6 2.2.1 89C51单片机的概…

IPv6进阶:IPv6 过渡技术之IPv6 over IPv4 手动隧道

实验拓扑 R1-R3-R2之间的网络为IPv4环境&#xff1b;PC1及PC2处于IPv6孤岛。 实验需求 R1及R2为IPv6/IPv4双栈设备&#xff1b;在R1及R2上部署IPv6 over IPv4手工隧道使得PC1及PC2能够互相访问。 配置及实现 R3的配置如下 [R3] interface GigabitEthernet0/0/0 [R3-Gigabi…

集合框架----源码解读LikedHashSet篇

1.官方介绍 Hash表和链表实现了Set接口&#xff0c;具有可预测的迭代顺序。该实现与HashSet的不同之处在于它维护了一个贯穿其所有条目的双向链表。该链表定义了迭代顺序&#xff0c;即元素插入集合的顺序(插入顺序)。注意&#xff0c;如果一个元素重新插入到集合中&#xff0c…

【JAVA案例】作业管理系统(控制台版本)

博主&#xff1a;&#x1f44d;不许代码码上红 欢迎&#xff1a;&#x1f40b;点赞、收藏、关注、评论。 格言&#xff1a; 大鹏一日同风起&#xff0c;扶摇直上九万里。 文章目录一、JAVA面向对象程序设计1.1 工程分包1.2 各类属性及功能二、数据初始化三、学生模块四、教师…

传奇单机架设登录器配置教程

传奇单机顾名思义就是在本地电脑上架设传奇&#xff0c;限制同一个局域网才能一起玩&#xff0c;我接触到几个朋友不明白外网和单机的区别 架设单机需要准备以下程序&#xff1a; 传奇服务端&#xff08;版本Mirserver&#xff09; DBC2000 (百度可直接下载&#xff09; 配套登…

基于SpringBoot的会员制医疗预约服务管理信息系统

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SpringBoot 前端&#xff1a;Vue、HTML 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#…

Apifox:成熟的测试工具要学会自己写接口文档

好家伙&#xff0c; 在开发过程中&#xff0c;我们总是避免不了进行接口的测试&#xff0c; 而相比手动敲测试代码&#xff0c;使用测试工具进行测试更为便捷&#xff0c;高效 今天发现了一个非常好用的接口测试工具Apifox 相比于Postman&#xff0c;他还拥有一个非常nb的功…

【毕业设计】26-基于单片机心跳体温血压系统仿真设计(原理图+仿真+演示视频+论文)

【毕业设计】基于单片机心跳体温血压系统仿真设计&#xff08;原理图仿真演示视频论文&#xff09; 文章目录【毕业设计】基于单片机心跳体温血压系统仿真设计&#xff08;原理图仿真演示视频论文&#xff09;任务书设计说明书摘要设计说明书及设计文件任务书 以单片机为控制核…

【虚幻引擎UE】UE5 材质动态修改的2种方法(含工程源码)

演示效果&#xff1a; 示例工程源码 一、直接材质参数变量 1、贴图变量&#xff1a; 在材质蓝图中右键&#xff0c;创建变量TextureSampeParameter2D&#xff08;贴图变量&#xff09;。 输入RGB到基础颜色 2、单色变量&#xff1a; 在材质蓝图中右键&#xff0c;创建变量…

牛顿法,高斯牛顿法,列文伯格-马夸尔特(LM)法

文章目录一&#xff1a;牛顿法 &#xff08;Newtons method&#xff09;1&#xff1a;概述2&#xff1a;牛顿方向与牛顿法3&#xff1a;牛顿法的基本步骤4&#xff1a;举例二&#xff1a;高斯牛顿法 &#xff08;Gauss–Newton algorithm&#xff09;1&#xff1a;概述2&#x…

Metabase学习教程:仪表盘-5

SQL查询仪表盘添加筛选器 如何将过滤器小部件添加到仪表盘&#xff0c;并将它们连接到多个SQL查询中的字段过滤器变量。 本文介绍如何创建仪表盘小工具到过滤器数据输入SQL查询。图1显示了我们将要构建的仪表盘&#xff1a; 图1。我们将要构建的&#xff1a;一个仪表盘&#…

在el-table表头上引入组件不能实时传参bug

文章目录场景还原解决方法出现原因场景还原 产品要求&#xff1a;点击表格的表头&#xff0c;能触发一个下拉的列表&#xff0c;列表能携带表格的筛选条件&#xff0c;获取相应的数据 写了一个demo&#xff0c;来还原一下bug出现的场景&#xff1a; <div id"demo&qu…