HTML 表单_html/css_WEB-ITnose
网站使用 HTML 表单可与用户进行交互,表单元素是允许用户在表单中输入内容,比如:文本框、文本域、单选框、复选框、下拉列表、按钮等等,表单可以把浏览者输入的数据传送到服务器端,这样服务器端程序就可以处理表单传过来的数据。表单使用表单标签
注意:
accept-charset 属性规定服务器可处理的表单数据字符集。默认值是保留字符串 "UNKNOWN",表示编码为包含
标签用于定义输入域,而 type 属性规定了要显示的输入域的内容,type="text" 为默认值,定义一个单行的文本字段输入,默认显示宽度为 20 个字符。 name 属性为文本框命名,以备后台程序调用。type="password" 定义密码字段,密码字段字符不会明文显示,而是以星号或圆点替代。
value 属性可为文本框设置默认值,一般起到提示的作用,value 属性对于不同 input 类型,用法也不同:
(1)、对于 "text"、"password"、"hidden" 类型,定义输入字段的初始(默认)值。
(2)、对于 "button"、"submit"、"reset"、类型,定义按钮上的文本。
(3)、对于 "checkbox"、"radio"、"image" 类型,则定义与 input 元素相关的值,当提交表单时该值会发送到表单的 action URL。
注意:value 属性对于 和 是必需的,不适用于 。
而 placeholder 属性则可规定输入字段预期值的简短的提示信息,比如一个样本值或者预期格式的短描述,该提示会在用户输入值之前显示在输入字段中,该值显示为虚体,颜色浅,当用户输入时自动清除,而用于 的 value 属性的默认值显示为实体,而且颜色深,在用户输入时需要自行清除。placeholder 属性适用于下面的 input 类型:text、search、url、tel、email 和 password。
1
3、文本域
文本域是一个多行的文本输入控件,当用户需要在表单中输入大段文字时,需要用到文本输入域。文本域通过 如下:
1
注意:
4、选择框
选择框可以让用户做出选择,在使用表单设计调查表时,为了减少用户的操作,使用选择框是一个好主意,HTML 中有两种选择框,即单选框和复选框,两者的区别是单选框中的选项用户只能选择一项,而复选框中用户可以任意选择多项,甚至全选。定义选择框通过 标签完成,不同的是输入类型。
(1)、单选框
type="radio" 定义了单选框,也叫单选按钮,允许用户在一定数量的选择中选取一个选项。如下:
1
(2)、复选框
type="checkbox" 定义了复选框,允许用户可以选择多个选项。如下:
1
value 属性值是必需的,为提交数据到服务器的值,供后台程序使用。name 属性为输入控件命名,供后台程序使用,checked 属性规定在页面加载时应该被预先选定的 元素。该属性只适用于 和 。checked 属性用于设置默认选项,即该选项会被默认选中。该属性也可以在页面加载后,通过 JavaScript 代码进行设置。
注意:同一组的单选按钮,name 属性取值一定要一致,比如上面例子为同一个名称“like”,这样同一组的单选按钮才可以起到单选的作用。同一组的复选框,name 属性取值可以一致,这样方便为其定义样式,或者通过 JS 获取元素。
5、下拉列表框
下拉列表在网页中也常会用到,它可以有效的节省网页空间。既可以单选、也可以多选。下拉列表框通过
(1)、下拉列表单选框
1
(2)、下拉列表复选框
1
下拉列表单选框和下拉列表复选框,唯一的不同就是复选框使用了 multiple 属性实现了多选功能,下拉列表可以进行多选操作就是在
还元素有几个重要属性,required 属性规定用户在提交表单前必须选择一个下拉列表中的选项。autofocus 属性规定在页面加载时下拉列表自动获得焦点。size 属性规定下拉列表中可见选项的数目。由于各属性之间的差异,需要告诉用户是否可以多项选择,对用户更友好的方式是使用复选框。
如果有很多的选项组合,就可以使用 如下:
1
6、按钮
在表单中有两种按钮可以使用,分别为:提交按钮和重置按钮。还有一种按钮叫做点击按钮。
(1)、点击按钮
type="button" 定义一个可点击的按钮,在用户点击按钮时启动一段 JavaScript。
1 2
(2)、提交按钮
当用户需要提交表单信息到服务器时,需要用到提交按钮。type="submit" 用于定义提交按钮。
1
button 和 submit 都是定义一个按钮,不同的是 button 只是一个普通的按钮,主要用于绑定事件,如果不给其绑定事件,那么点击按钮不会有任何反应。而 submit 则是提交按钮,主要用于提交表单,传送数据,如果给 submit 绑定事件,那么点击按钮触发事件的同时,也会提交表单。
(3)、重置按钮
当用户需要重置表单信息到初始时的状态时,比如用户输入信息后,发现输入错误,那么可以使用重置按钮使输入框恢复到初始状态。只需要把 type 设置为 "reset" 就可以。
1
type="reset" 用于定义一个重置按钮,需要谨慎使用该按钮,当用户点击重置按钮后,所有表单值都会恢复到默认值,这对于用户来说,如果不慎点击了重置按钮将是一件十分令人恼火的事。
在 HTML 中还有一种创建按钮的方法就是使用 该元素与使用 元素创建的按钮之间的不同之处就在于:使用 button 元素创建的按钮,在该元素内部可以放入内容,比如文本或图像,也就是该元素可以使用多媒体内容, 标签之间的所有内容都是按钮的内容。该元素也可以定义点击按钮、提交按钮和重置按钮。但是他的缺点就是:不同的浏览器对 因此要始终为
7、input 元素属性和其他输入类型
除了前边提到的一些属性外,input 元素还有一些重要属性,以及 HTML5 新增加的属性。
readonly 属性规定输入字段是只读的。该属性是一个布尔值。只读字段是不能修改的。不过,用户仍然可以使用 tab 键切换到该字段,还可以选中或拷贝其文本。readonly 属性可以防止用户对值进行修改,直到满足某些条件为止,比如选中了一个复选框。然后,需要使用 JavaScript 消除 readonly 值,将输入字段切换到可编辑状态。
size 属性规定以字符数计的 元素的可见宽度。size 属性适用于下面的 input 类型:text、search、tel、url、email 和 password。如需规定 元素中允许的最大字符数,需要使用 maxlength 属性。
以下是 HTML5 中的新属性:
autocomplete="on|off" 属性规定输入字段是否应该启用自动完成功能。默认值为 on,规定用户启用自动完成功能,off 则表示禁用。注意:autocomplete 属性适用于下面的 类型:text、search、url、tel、email、password、date pickers(日期选择器)、range 和 color。
multiple 属性规定允许用户输入到 元素的多个值。该值是一个布尔值,注意:multiple 属性适用于以下 input 类型:email 和 file。
pattern 属性规定用于验证 元素的值的正则表达式。可以使用使用全局的 title 属性来描述模式以帮助用户。pattern 属性适用于下面的 input 类型:text、search、url、tel、email 和 password。
required 属性规定必需在提交表单之前填写输入字段。该属性是一个布尔值,required 属性适用于下面的 input 类型:text、search、url、tel、email、password、date pickers、number、checkbox、radio 和 file。
下面是 input 元素的其他输入类型:
(1)、图像作为按钮
type="image" 用于定义图像作为提交按钮,如下:
上面代码中的 3 个属性都只针对 type="image",src 属性规定显示为提交按钮的图像的 URL。alt 属性定义图像输入的替代文本。width 和 height 规定 元素的宽度/高度。
(2)、隐藏字段
type="hidden" 用于定义隐藏字段,隐藏字段对于用户是不可见的。隐藏字段常常存储默认值,或者由 JavaScript 改变它们的值。
1
(3)、选择文件
type="file" 用于定义文件选择字段和 "浏览..." 按钮,供文件上传。
1
accept 属性仅适用于 。该属性规定了可通过文件上传提交的服务器接受的文件类型。如需要多个文件类型,每个值可以使用逗号分隔。注意:不要将该属性作为验证工具,应该在服务器上对文件上传进行验证。
以下都是 input 元素在 HTML5 中的新类型:
(4)、Email
type="email" 用于定义邮箱地址的字段,当提交表单时会自动对 email 字段的值进行验证。
Email:
(5)、电话号码
type="tel" 用于定义用于输入电话号码的字段。
电话号码:
(6)、拾色器
type="color" 用于定义从拾色器中选取颜色。
选择你喜欢的颜色:
(7)、搜索字段
type="search" 定义用于输入搜索字符串的文本字段,比如站内搜索。
查查看:
目前,浏览器对于该类型的支持不是很好。
(8)、URL
type="url" 定义用于输入 URL 的字段。
添加你的主页:
(9)、数字字段
type="number" 定义用于输入数字的字段,可以设置可接受数字的限制。
数量 ( 1 到 5 之间):
min 和 max 属性可用于规定 元素的最小/最大值。value 属性可规定默认值。step 属性可规定 元素的合法数字间隔。实例:如果 step="3",则合法数字应该是 -3、0、3、6,以此类推。该属性可以与 min 和 max 属性配合使用,以创建合法值的范围。
type="range" 定义用于精确值不重要的输入数字的控件,比如 Slider.js,一个轻量级图片播放控件。也可以设置可接受数字的限制。用来规定限制的属性同 number 类型相同。
(10)、日期
type="time" 定义用于输入时间的控件(不带时区)。
type="date" 定义 date 控件。
type="datetime" 定义 date 和 time 控件(带有时区)。
type="datetime-local" 定义 date 和 time 控件(不带时区)。
type="month" 定义 month 和 year 控件(不带时区)。
type="week" 定义 week 和 year 控件(不带时区)。
8、其他表单标签
(1)、表单边框
1
在 HTML5 中还增加了3个新标签:
(2)、
如下:
1
autofocus 属性用于规定当页面加载时 元素应该自动获得焦点。
(3)、
如下:
1
该标签有一个重要属性 for 规定一个或多个元素的 id 列表,以空格分隔,用于描述计算中使用的元素与计算结果之间的关系。name 属性定义对象的唯一名称,在表单提交时使用。
(4)、
1
该标签有一个重要属性 keytype 用于定义密钥的安全算法,该属性规定应该使用哪种密钥生成算法,安全算法有3种:rsa为默认,规定 RSA 安全算法,RSA 密钥强度可由用户选择。dsa 规定 DSA 安全算法,DSA 密钥长度可由用户选择。ec 规定 EC 安全算法,EC 密钥强度可由用户选择。注意:不同的浏览器对密钥生成算法的支持会有所变化。