HTML之表单
表单的结构
<form name="" action="" method="">
<input>
...
<select>...</select>
<textarea>...</textarea>
</form>
(1)name
:表单名称,在为表单命名之后就可以使用脚本语言对它进行控制;
(2)action
:动作属性,指定处理表单信息的服务浏览器应用端。
(3)method
:方法属性,用于指定表单向服务器提交数据的方法,method
的值可以为get
或post
,默认为get
。
get
方式与post
方式
1、get
方法
使用 get 方法提交数据,浏览器将把表单中的各个值添加到 action 指定的URL(这两者之间用问号分割)并向服务器发送 get 请求,每个值之间用符号“&”链接。IE地址栏最大的URL长度是2083个长度,最大可以传递的数据长度2048个字符,所以用户不要对数据量较多的表单使用 get 方法。且 get 限制表单的数据集的值必须为ASCII字符。
2、post
方法
如果采用 post 方法,浏览器将首先与 action 属性中指定的表单处理服务器建立联系,一旦建立联系之后,浏览器就会按分段传输的方法将数据发送给服务器。与 get 方法不同的是, post 支持整个ISO10646字符集。
输入
输入<input>
是一个单标签,必须嵌套在表单标签中使用,用于定义一个用户的输入项。
<form>
<input name="" type="">
</form>
name
属性的参数值是相应程序中的变量名。Web服务器将把这条输入信息的值赋予name
属性规定的变量。type
属性用于指定该输入项提供的输入方式,即指出用户输入的值的类型。在不同的输入方式下,<input>
标签的格式略有不同,除了type
之外的其他5种属性因type
类型的不同而含义不同。
单行文本输入框
当type="text"
时,表示该输入项的输入信息是字符串。此时,浏览器会在相应的位置显示一个文本框供用户输入信息。
<form>
<input name="text" type="text" maxlength="" value="">
</form>
text
文本框是一个只能输入一行文字的输入框。
(1)maxlength
:设置单行输入框可以输入的最大字符数;
(2)size
:设置单行输入框可以显示的最大字符数,这个值总是小于等于 maxlength 属性的值,当输入的字符数超过文本框的长度时,用户可以通过移动光标来查看超过的内容;
(3)value
:文本框的值,可以通过设置value
属性的值来指定当表单首次被载入时显示在输入框中的值;
(4)如果需要创建一个随着表单提交一同传递的元素,希望用户看到,却又不允许编辑,可以添加一个readonly
属性。
另外通过<label><input></label>
标签可以让鼠标点击前面文字而到输入框里面。
提交按钮和重置按钮
<form><input name="submit" type="submit" value="提交"></form>
<form><input name="submit" type="reset" value="重置"></form>
其中name
是可以默认的,value
用于显示在按钮上的值。
<form action="process.aspx" method="get">
请输入你的姓名:<input type="text" name="yourname">
<input type="submit" name="submit" value="submit">
<input type="reset" name="reset" value="reset">
</form>
密码输入框
<input type="password" name="password" maxlength="" size="">
除 type 属性以外,其他属性和文本输入框一致。
<form action="process.aspx" method="get">
请输入你的姓名:<input type="text" name="yourname"><br>
请输入你的密码:<input type="password" name="password" maxlength="12" size="8"><br>
<input type="submit" name="submit" value="submit">
<input type="reset" name="reset" value="reset">
</form>
复选框
<input type="checkbox" name="" value="" checked>
由于选项可以很多,属性 name 应该取不同的值。属性 value 是用于提交给服务器的数据,所以其参数值必须与选项内容相同或基本相同,也可以在逻辑上有联系。 checked 属性用于默认选择。
<form action="process.aspx" method="get">
四大名著有以下几本:<br>
<input type="checkbox" name="三国演义" value="三国演义" checked>《三国演义》<br>
<input type="checkbox" name="红楼梦" value="红楼梦">《红楼梦》<br>
<input type="checkbox" name="水浒传" value="水浒传">《水浒传》<br>
<input type="checkbox" name="老残游记" value="老残游记">《老残游记》<br>
<input type="checkbox" name="西游记" value="西游记">《西游记》<br>
</form>
单选按钮
<input type="radio" name="radio" value="" checked>
所以属性的 name 都应取相同的值;不同的选项其 value 属性的值是不同的;checked 属性为默认勾选。
<form action="process.aspx" method="get">
以下那本不是四大名著之一:<br>
<input type="radio" name="radio" value="三国演义" checked="">《三国演义》<br>
<input type="radio" name="radio" value="红楼梦">《红楼梦》<br>
<input type="radio" name="radio" value="水浒传">《水浒传》<br>
<input type="radio" name="radio" value="老残游记">《老残游记》<br>
<input type="radio" name="radio" value="西游记">《西游记》<br>
</form>
图像按钮
<input type="image" name="image" scr="URL">
文本选择输入框
<form method="post" enctype="multipart/form-data">
<input type="file" name="" size="">
</form>
把 type 属性设置成 file 就可以插入,在 标签中,我们必须把 method 属性设置成 post ,另外, enctype 属性确保文件采用正确的格式上传。
<form action="process.aspx" method="post" enctype="multipart/form-data">
<p>
请选择文件<br>
<input type="file" name="uploadfile" size="40">
</p>
<div>
<input type="submit" name="Send" value="上传">
</div>
</form>
隐藏框
如果用户不想显示某些选项而又不愿意将它们从文档中删去,可能是应用程序需要的一些信息。把 type 属性设置成 hidden ,就不会在页面中显示了。
<form><input type="hidden" name="hidden" value=""></form>
多行文本输入框
<textarea></textarea>
标签可以用来定义高度超过一行的文本输入框。
<textarea name="" cols="" rows="" wrap="">
初始的文本内容</textarea>
(1)name
指定文本框的名字;
(2)rows
设置多行文本输入框的行数,浏览器会自动为高度超过一行的文本输入框添加垂直滚动条;
(3)cols
设置多行文本输入框的列数;
(4)wrap
设置自动换行:
wrap="virtual"
仅仅是显示上的换行,而在实际的传输过程中仍然以回车键为准;
wrap="physical"
不仅仅在显示上换行,还在实际的传输过程中以此换行为标准;
wrap="off"
不会自动换行,且在内容超过文本域右边界时,文本将向左滚动,必须按下回车键才会换行。
<form action="process.aspx" method="post">
<p>简介:</p>
<textarea name="简介" cols="50" rows="10" wrap="virtual">内容</textarea><br>
<input type="submit" name="submit" value="提交">
<input type="reset" name="reset" value="重置">
</form>
下拉列表框
<form>
<select name="" size="">
<option></option>
......
<option></option>
</select>
</form>
(1)<select>
是一个成对标签,它其中用<option>
标签来定义各个选项内容。
name
设定下拉列表名字;
size
可选项,设置在列表中选项的数目。如果实际数量大于size
属性的数值, 浏览器会为该下拉列表框添加滚动条,且size
默认为1;
multiple
是否允许用户多选。
(2)option
是双标签,用来定义下拉列表框中的众多选项。
value
发送给服务器的信息
selected
是否默认选择
<form>
<p>你最喜欢的运动:</p>
<select name="sport">
<option value="足球">足球</option>
<option value="篮球">篮球</option>
<option value="高尔夫">高尔夫</option>
</select>
</form>
新增输入元素
email
类型
用于包含e-mail
地址的输入域,在提交表单时会自动验证email域的值,不用使用带有正则表达式的脚本来验证输入域的值。根据浏览器的不同,email格式错误将会弹出不同的提示信息。
<input type='email' name='userEmail'/>
url
类型
要求用户必须输入scheme://host.domain:post/path/filename
的url地址,否则会报错。
<input type='url' name='userUrl'>
number
类型
属性 | 值 | 描述 |
---|---|---|
max |
number |
指定数值最大值 |
min |
number |
指定数值最小值 |
step |
number |
指定步长(数值间隔),默认步长为1 |
value |
number |
指定默认值 |
<input type='number' min='' max='' step='' name='userNumber'/>
4. range
类型
range
类型用于确定包含一定范围内数字值的输入域,和number类型一致,并且属性相同。
<input type='range' min='' max='' step='' name='userRange'/>
5. color
类型
color类型用于弹出颜色选择器
<input type='color' name='userColor'>
6. Date Picker
类型
用于弹出日期选择器
<input type='data' name='userDate'>
支持以下的输入类型:
- date
:选取日、月、年
- month
:选取月、年
- week
:选取周和年
- time
:选取时间(小时和分钟)
- datetime
:选取时间、日、月、年(UTC时间)
- datetime-local
:选取时间、日、月、年(本地时间)
7. search
类型
search类型用于搜索域,例如站点搜索或
新增其他元素
datalist
类型
该元素功能是辅助表单文本框的内容输入,用于生成隐藏的可选下拉菜单,相当于一个select
元素。datalist
下拉菜单包含的选项使用option
标签产生。显示文本是<option>
的label
属性值,而应该显示文本的实际参数值为value
属性值。另外,datalist
元素需要与某文本框结合使用,其结合方式是通过将文本框的list
属性值设置为datalist
的id
值,这样就完成两者的绑定:
<!DOCTYPE html>
<html>
<head>
<title>实例</title>
</head>
<body>
<input type="text" list="datalist" name="cname"/>
<datalist id="datalist">
<option label="北京" value="北京">北京</option>
<option label="南京" value="南京">南京</option>
<option label="成都" value="成都">成都</option>
</datalist>
</body>
</html>
属性 | 描述 |
---|---|
autocomplete |
表单或文本框的自动完成功能 |
autofocus |
页面加载时自动获得焦点 |
form |
所属表单id |
formaction |
重写表单action属性 |
formentype |
重写表单entype属性 |
formmethod |
重写表单method属性 |
formnovalidate |
重写表单novalidate属性 |
formtarget |
重写表单target属性 |
list |
新增表单元素datalist的属性,规定了下拉菜单列表 |
min ,max ,step |
部分新增imput类型元素的属性,最大、最小以及步长 |
multiple |
规定输入域可选择多个 |
pattern |
验证输入域的模式(正则表达式) |
placeholder |
输入域的提示文本,描述了当前输入域所期待的值 |
required |
输入域必填项,不能为空 |
HTML之表单的更多相关文章
- ASP.NET Aries 入门开发教程9:业务表单的开发
前言: 经过前面那么多篇的列表的介绍,终于到了大伙期待的表单开发了. 也是本系列的最后一篇文章了! 1:表单页面的权限设置与继承 对于表单页面,权限的设置有两种: 1:你可以选择添加菜单(设置为不显示 ...
- 探索ASP.NET MVC5系列之~~~3.视图篇(下)---包含常用表单和暴力解猜防御
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正) 汇总:http://www.cnblogs.com/dunitian/p/4822808.ht ...
- jQuery学习之路(8)- 表单验证插件-Validation
▓▓▓▓▓▓ 大致介绍 jQuery Validate 插件为表单提供了强大的验证功能,让客户端表单验证变得更简单,同时提供了大量的定制选项,满足应用程序各种需求.该插件捆绑了一套有用的验证方法,包括 ...
- jQuery学习之路(5)- 简单的表单应用
▓▓▓▓▓▓ 大致介绍 接下来的这几个博客是对前面所学知识的一个简单的应用,来加深理解 ▓▓▓▓▓▓ 单行文本框 只介绍一个简单的样式:获取和失去焦点改变样式 基本结构: <form actio ...
- 12、Struts2表单重复提交
什么是表单重复提交 表单的重复提交: 若刷新表单页面, 再提交表单不算重复提交. 在不刷新表单页面的前提下: 多次点击提交按钮 已经提交成功, 按 "回退" 之后, 再点击 &qu ...
- .net erp(办公oa)开发平台架构概要说明之表单设计器
背景:搭建一个适合公司erp业务的开发平台. 架构概要图: 表单设计开发部署示例图 表单设计开发部署示例说明1)每个开发人员可以自己部署表单设计至本地一份(当然也可以共用一套开发环境,但是如 ...
- javascript表单的Ajax 提交插件的使用
Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...
- 玩转spring boot——AOP与表单验证
AOP在大多数的情况下的应用场景是:日志和验证.至于AOP的理论知识我就不做赘述.而AOP的通知类型有好几种,今天的例子我只选一个有代表意义的“环绕通知”来演示. 一.AOP入门 修改“pom.xml ...
- from表单提交数据之后,后台对象接受不到值
如果SSH框架下,前段页面通过from表单提交数据之后,在后台对象显示空值,也就是接收不到值得情况下.首先保证前段输入框有值,这个可以在提交的时候用jQuery的id或者name选择器alert弹出测 ...
- form表单验证-Javascript
Form表单验证: js基础考试内容,form表单验证,正则表达式,blur事件,自动获取数组,以及css布局样式,动态清除等.完整代码如下: <!DOCTYPE html PUBLIC &qu ...
随机推荐
- mysql id从n 开始
mysql 全部删除数据后设置 id从1开始: truncate table table_name mysql 删除部分数据后设置 id从n开始 ALTER TABLE user auto_incr ...
- 解决mac上每次升级nodejs都要重新安装扩展包的问题
虽然有了一些新生派竞品比如yarn,但使用或者习惯了npm的开发者仍然大有人在. 以前用起来没注意到这个现象,最近一段时间发现,每次随着使用brew upgrade自动升级了nodejs版本,原来安装 ...
- 从零开始学习PYTHON3讲义(十四)写一个mp3播放器
<从零开始PYTHON3>第十四讲 通常来说,Python解释执行,运行速度慢,并不适合完整的开发游戏.随着电脑速度的快速提高,这种情况有所好转,但开发游戏仍然不是Python的重点工作. ...
- Solr 14 - SolrJ操作SolrCloud集群 (Solr的Java API)
目录 1 pom.xml文件的配置 2 SolrJ操作SolrCloud 1 pom.xml文件的配置 项目的pom.xml依赖信息请参照: Solr 09 - SolrJ操作Solr单机服务 (So ...
- arguments对象详解
在javascript中,函数是没有重载这一项的,所谓的重载,一个函数可以有多个,就是参数的个数和形式不同所以引用的功能不同,而js不存在函数重载,不管传不传参数,函数里面是否引用,关系都不大,一个函 ...
- 知识小罐头05(tomcat8请求源码分析 上)
这一篇我们不看源码,就大概理一下Tomcat内部组成部分!前面花费了两篇博客的篇幅来说说了一般的maven web项目并部署到tomcat运行,其实都是为这篇做铺垫的! 其实我下载了tomcat7,t ...
- SpringSecurity自定义AuthenticationProvider和AuthenticationFilter
AuthenticationProvider 默认实现:DaoAuthenticationProvider 授权方式提供者,判断授权有效性,用户有效性,在判断用户是否有效性,它依赖于UserDetai ...
- mysql索引规范
索引并不是越多越好!索引可以提高查询效率,但会降低增删改效率.但多了甚至会降低查询效率. Innodb是按照主键索引的顺序来组织表,如没有建立主键,mysql会选择第一个非空唯一索引做为主键,或生成一 ...
- C#语法——事件,逐渐边缘化的大哥。
事件是C#的基础之一,学好事件对于了解.NET框架大有好处. 事件最常见的比喻就是订阅,即,如果你订阅了我的博客,那么,当我发布新博客的时候,你就会得到通知. 而这个过程就是事件,或者说是事件运行的轨 ...
- K2制作流程
K2流程制作注意事项 1:分析需求 2:实施 步骤1:绘制流程图 步骤2:添加datafield[必备:ActJumped IsPass] 步骤3:添加线规则(如下图所示,在添加完毕规则之后,再给同 ...