大家好,我是IT修真院的学员,一位正直纯洁善良的web前端程序员 。今天给大家分享一下常见的表单元素有哪些?各有什么属性?
1.背景介绍
表单元素是允许用户在表单中输入信息的元素。随着时代的改变和互联网的发展,表单的使用越来越广泛。
2.知识剖析
什么是表单
表单在网页中主要负责数据采集功能。一个表单有三个基本组成部分: 表单标签:这里面包含了处理表单数据所用CGI程序的URL以及数据提交到服务器的方法。 表单域:包含了文本框、密码框、隐藏域、多行文本框、复选框、单选框、下拉选择框和文件上传框等。 表单按钮:包括提交按钮、复位按钮和一般按钮;用于将数据传送到服务器上的CGI脚本或者取消输入,还可以用表单按钮来控制其他定义了处理脚本的处理工作。
常用表单元素
form:定义供用户输入的表单。
fieldset:定义域。即输入区加有文字的边框。
legend:定义域的标题,即边框上的文字。
label:定义一个控制的标签。如输入框前的文字,用以关联用户的选择。
input:定义输入域,常用。可设置type属性,从而具有不同功能。
textarea:定义文本域(一个多行的输入控件),默认可通过鼠标拖动调整大小。
button:定义一个按钮。
select:定义一个选择列表,即下拉列表。
option:定义下拉列表中的选项。
表单的种类
文本框: 文本框是一种让访问者自己输入内容的表单对象,通常被用来填写信息或者简短的回答,如姓名、地址等。
代码格式:<input type="text" name="..." size="..." maxlength="..." value="..."
属性解释:
type="text"定义单行文本输入框;
name属性定义文本框的名称,要保证数据的准确采集,必须定义一个独一无二的名称;
size属性定义文本框的宽度,单位是单个字符宽度;
maxlength属性定义最多输入的字符数。
value属性定义文本框的初始值
多行文本框: 也是一种让访问者自己输入内容的表单对象,只不过能让访问者填写较长的内容。
代码格式:<textarea name="..." cols="..." rows="..." wrap="VIRTUAL"></textarea>
属性解释:
name属性定义多行文本框的名称,要保证数据的准确采集,必须定义一个独一无二的名称;
cols属性定义多行文本框的宽度,单位是单个字符宽度;
rows属性定义多行文本框的高度,单位是单个字符宽度;
wrap属性定义输入内容大于文本域时显示的方式
密码框: 是一种特殊的文本域,用于输入密码。当访问者输入文字时,文字会被星号或其它符号代替,而输入的文字会被隐藏。
代码格式:<input type="password" name="..." size="..." maxlength="...">
属性解释:
type="password"定义密码框;
name属性定义密码框的名称,要保证数据的准确采集,必须定义一个独一无二的名称;
size属性定义密码框的宽度,单位是单个字符宽度;
maxlength属性定义最多输入的字符数。
隐藏域: 隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。
代码格式:<input type="hidden" name="..." value="...">
属性解释:
type="hidden"定义隐藏域;
name属性定义隐藏域的名称,要保证数据的准确采集,必须定义一个独一无二的名称;
value属性定义隐藏域的值
单选框: 当需要访问者在单选项中选择唯一的答案时,就需要用到单选框了。
代码格式:<input type="radio" name="..." value="...">
属性解释:
type="radio"定义单选框;
name属性定义单选框的名称,要保证数据的准确采集,单选框都是以组为单位使用的,在同一组中的单选项都必须用同一个名称;
value属性定义单选框的值,在同一组中,它们的域值必须是不同的。
复选框: 复选框允许在待选项中选中一项以上的选项。每个复选框都是一个独立的元素,都必须有一个唯一的名称。
代码格式:<input type="checkbox" name="..." value="...">
属性解释:
type="checkbox"定义复选框;
name属性定义复选框的名称,要保证数据的准确采集,必须定义一个独一无二的名称;
value属性定义复选框的值
提交按钮: 提交按钮用来将输入的信息提交到服务器。
代码格式:<input type="submit" name="..." value="...">
属性解释:
type="submit"定义提交按钮;
name属性定义提交按钮的名称;
value属性定义按钮的显示文字;
复位按钮: 复位按钮用来重置表单。
代码格式:<input type="reset" name="..." value="...">
属性解释:
type="reset"定义复位按钮;
name属性定义复位按钮的名称;
value属性定义按钮的显示文字;
常用type属性:button、checkbox、hidden、image、password、checkbox、radio、reset、submit、text。
3.常见问题
4.解决方案
5.编码实战
6.扩展思考
html5新增type属性:
(1)search:input会呈现为搜索框(与text类型的唯一区别在于当鼠标覆盖时尾部出现叉号可快速清除输入的内容)。
(2)tel:编辑电话号码的控件,提交时换行符会自动从输入框中去掉(普通的text并不会,故text类型验证输入值时一般需要trim()函数处理)。
(3)url:编辑url的控件,提交时换行符与首位的空格都将自动去除。
(4)email:可输入一个邮件地址。
7.参考文献
html元素 —— 表单元素及实用属性
http://blog.csdn.net/qq_19865749/article/details/52490882
HTML5-input元素新特性
http://blog.csdn.net/garvisjack/article/details/63683201#Menu3-date
W3School HTML 表单
http://www.w3school.com.cn/html/html_forms.asp
菜鸟教程
8.更多讨论
问题一
css如何实现input不可编辑?
答:有两种方法
第一:disabled="disabled"这样定义之后被禁用的 input 元素既不可用,也不可点击。
第二:readonly="readonly" 只读字段是不能修改的。不过,用户仍然可以使用 tab 键切换到该字段,还可以选中或拷贝其文本。
问题二
如何实现会发光的输入框input?
答:
取消浏览器默认样式outline。
设置边框样式、宽度、颜色。
设置边框阴影。
渐变过渡效果
问题三
用HTML5怎么实现输入密码功能(六个格子)?
答:用六个li充当六个格子,同时将input框隐藏,点击承载六个格子的容器时,使焦点聚焦在input上。
详情:HTML5实现输入密码(六个格子) - 无敌小坑笔 - 博客园