什么是表单?表单是搜集用户数据信息的各种表单元素的集合区域。它的作用是实现网页上的数据交互。搜集客户端输入的数据信息,提交到网站服务器端进行处理(搜集录入/比对验证等)。
表单常见应用:a、注册/登录 b、搜索 c、留言/评论 d、文件上传/文章编辑
表单的结构:表单区域+表单控件(表单元素)
表单标签:<form>双标签,块状元素。用来定义网页中的交互输入的区域(表单区)。所有的表单控件必须包含在<form>元素中。
<form>基本属性
属性名称 | 值 | 说明 |
action | url路径 | 必须属性!规定当提交表单时向处发送表单数据 |
method | get/post | 必须属性!规定用于发送form-data的http方法 |
name | 自定义名称 | 规定表单的名称(针对服务器端或脚本处理) |
name属性和ID属性的区别:
id在页面中具有唯一性,name可以重复。name主要对应服务器端,用于对提交到服务器后的表单数据进行标识。要实现数据交互功能,表单和表单控件都需要使用name属性。name的另一个功能是对应脚本(JavaScript),来处理表单中的各种数据值。而id主要对应css样式的应用。
表单:通用输入型控件
表单控件(表单元素)的类型
输入型:用户在控件中可以直接输入数据信息
a.文本框(单行文本)<input>标签创建文本框,type属性指定其具体类型。b.文本域(多行文本)<textarea>标签创建文本域。
通用文本框
类型说明 | 标签 | type属性 |
普通文本 | <input> | <input type="text"> |
密码 | <input> | <input type="password"> |
隐藏域 | <input> | <input type="hidden"> |
ps:隐藏域是用户看不到的表单控件,一般用来传递不需要显示在客户端的数据。
<input>标签及常用属性:单标签,一个<input>代表一个表单控件。通过type属性来具体指定控件的类型。
属性名称 | 属性说明 | 常见应用 |
type | 定义表单控件的类型 | 如文本字段、复选框、密码字段、单选按钮、按钮等。 |
value | 定义表单控件默认的值 | 如文本字段默认的文本内容、按钮上的文字等。 |
<textarea>是一个双标签,创建一个可以输入多行文本内容的区域。<textarea>标签没有value属性,标签形成的区域中放置的内容实际上就是value的值。创建的文本域有默认样式,可以通过css来控件和修改。
选择型:用户根据提供的控件选择数据内容
a.单选(组)/复选(组)<input>标签创建选择框,type属性指定其个体类型。
单选按钮标签<input>,type属性<input type="radio">.单选框用来给用户在一组可选项中做单项选择。单选按钮具有互斥性,必须成组出现,没有单个的应用场景。name属性:实现按钮的编组。当若干按钮的name属性相同时,就形成了按钮组。checked属性:设定按钮的已选中状态。
<p>单选按钮组:请选择你的性别:<label><input type="radio" name="sex" value="boy" checked>帅哥</label>
<label>input type="radio" name="sex" value="girl">美女</label></p>
b.复选按钮<input>,type属性<input type="checkbox">.复选按钮可以单个使用,也可以成组使用。单个使用时,用来接受用户回答“是”或“否”。成组使用时,提供给用户在一组可选项中做多项选择。name属性:实现按钮的编组。当若干按钮的属性相同时,就形成了按钮组。checked属性:设定按钮的已选中状态。
<p>复选按钮单个应用:<input type="checkbox">我同意xxx协议</p>
<p>复选按钮成组应用:请选择你的爱好:<input type="checkbox" value="sleeping" name="hobby">睡觉 <input type="checkbox" value="reading" name="hobby">阅读 <input type="checkbox" value="playinggame" name="hobby">玩游戏 </p>
c.下拉列表 <select>标签创建下拉列表区,<option>创建列表中的子级选项(列表值)。<select>和<option>标签都是双标签。
下拉列表的应用技巧:
给<option>添加selected属性,可以设定在首次显示下拉列表时为默认的选中状态。给<select>添加multiple属性,可选择多个选项。<select>的size属性可以规定下拉列表中可见选项的数目。使用<optgroup>给列表中的选项进行分组,形成类似树形的分级选择控件。<optgroup>标签的label属性用于定义选项组的文本描述。
事件型:用户点击控件发生的事件。
事件类型 | 标签 | 写法 | 说明 |
普通按钮 | <input> | <input type="button"> | 定义可点击按钮(多数情况下,用于通过JavaScript启动脚本) |
提交按钮 | <input> | <input type="submit"> | 点击按钮会把所有数据发送到服务器 |
重置按钮 | <input> | <input type="reset"> | 点击按钮会重置表单中的所有数据(恢复成初始默认) |
图像按钮 | <input> | <input type="images" src="路径" alt="替代文本"> | |
上传按钮 | <input> | <input type="file"> | 点击按钮选择本机文件,用于文件上传 |
每个表单都应该有一个提交按钮来实现表单数据的发送。按钮上的文本用value属性来定义。
表单:html5新增输入型控件
html5增加了新的表单输入input类型。其目的是赋予input更具体的“语义”,同时提供更好的输入控制和浏览器原生验证(不需要附加脚本)。各个浏览器对新增的这些input控件支持度不一样,目测支持力度正在逐渐加大。不管浏览器是否支持,都可以深度使用它们,因为就算不支持,也可以显示为常规的普通文本框。
readonly只读属性:<input readonly>规定输入字段为“只读”,不能修改。应用对象主要针对输入框类型的控件。
disabled禁用属性:<input disabled>规定输入字段为“禁用”,无法使用,无法点击的。应用对象包括所有的表单控件,除了<input type="hidden">.提交表单数据时,被禁用的控件不会被提交。
placeholder点位符属性:<input placeholder="text"> 规定可描述输入字段预期值的简短的提示信息,来提示用户输入。输入框显示palceholder的文本内容,在用户输入时自动消失,不会形成干扰。应用对象针对输入型表单控件。如<input>的text类型或<textarea>.placeholder内容不是value的值,也不会被表单提交。
autofocus自动获得焦点属性:<input autofocus> 规定当页面加载时<input>元素应该自动获得焦点。应用对象针对大多数表单控件,都可以应用。
表单标记标签<label>双标签,行间元素,默认任何特殊样式。为表单控件提供辅助标记。点击<label>中的标记内容,浏览器就会自动将焦点转到和<label>相关的表单控件上。
评论