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 ...
随机推荐
- 【机器学习】--xgboost从初识到应用
一.前述 在 Kaggle 的很多比赛中,我们可以看到很多 winner 喜欢用 xgboost,而且获得非常好的表现,今天就来看看 xgboost 到底是什么以及如何应用.Gradient boos ...
- 机器学习算法GBDT的面试要点总结-上篇
1.简介 gbdt全称梯度下降树,在传统机器学习算法里面是对真实分布拟合的最好的几种算法之一,在前几年深度学习还没有大行其道之前,gbdt在各种竞赛是大放异彩.原因大概有几个,一是效果确实挺不错.二是 ...
- js数组去重常用方法
js数组去重是面试中经常会碰到的问题,无论是前端还是node.js数组常见的有两种形式,一种是数组各元素均为基本数据类型,常见的为数组字符串格式,形如['a','b','c'];一种是数组各元素不定, ...
- 【Android Studio安装部署系列】十八、Android studio更换APP应用图标
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio新建项目后会有一个默认图标,那么如何更换图标呢? 替换图标 这个方案不建议直接在已有项目上更换图标,建议 ...
- ResDrawableImgUtil【根据图片名称获取resID值或者Bitmap对象】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 根据图片名称获取项目的res/drawable-xxdhpi中相应资源的ID值以及bitmap值的封装类. 效果图 代码分析 根据图 ...
- 极光推送经验之谈-Java后台服务器实现极光推送的两种实现方式
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6439313.html Java后台实现极光推送有两种方式,一种是使用极光推送官方提供的推送请 ...
- [Vue] vue中setInterval的问题
vue中使用setInterval this.chatTimer = setInterval(() => { console.log(this.chatTimer); this.chatMsg( ...
- 事件Event一
事件(Event)例如:最近的视觉中国'黑洞事件'.我们大多数人(订阅者)是通过XX平台(发布者)得知的这一消息,然后订阅者A出售视觉中国的股票(触发的方法),订阅者B买入视觉中国的股票. using ...
- 程序猿想聊天 - 創問 4C 團隊教練心得(二)
在第二天裡,主要談的是關於 Courage (勇氣) . Co-Create (共創) 的部分因為我們不是真實的團隊,就沒有繼續下去了 一早開始先回顧了一下前一天的內容,接下來我們就開始玩小遊戲 這個 ...
- WebForm+一般处理程序+Ajax聊天
#### 很容易理解 插入数据 到数据库 在使用 setInterval() 读取数据 显示在 页面中 好了 不废话 直接上代码 不会的 可以加我 微信 Jth11163## 效果图片 ![在这里插入 ...