表单,常常用于提交用户向服务器发送的消息,应用非常广泛,而整个表单又可以分为表单控件、提示信息、表单域这三大内容。
表单控件: input select textarea button
包含了具体的表单功能项:单行文本输入框、密码输入框、复选框、按钮
提示信息:label
表单中的说明性文字,提示用户进行填写和操作,可以绑定表单控件,扩大选择区域,label中的属性 for 可以用于绑定的表单控件,绑定方式:绑定id值与for值相同的表单控件
表单域:form
类比一个容器,用于容纳所有表单组件和提示信息,可以通过他定义处理表单数据所用程序的url地址以及数据提交到服务器的方法(如果不定义,表单的数据将无法传送到后台服务器),创建表单的基本语法格式如下
<form action='url地址' method='提交方式' name='表单名称'>
表单控件...
</form>
其常用的属性如下:
- action:在表单收集到信息后,需要将信息传递给服务器,action属性用于指定接受并处理表单数据的服务器程序的url地址
- method:用于设置表单数据的提交方式(get/post)
- name:用于指定表单的名称,以区别同一页面的多个表单
最上方组成
网址(action的值)?请求内容名称(input中的name属性值)=请求值(input中的value属性值)&请求内容=请求值
input控件(最常用)
input标签为单标签,其常用属性如下表
| 常用属性 | 属性值 | 描述 |
|---|---|---|
| id | 自定义 | 绑定对应label |
| type | 见下表 | 控制input的类型 |
| name | 自定义 | 控件名称 作为提交数据时的key |
| value | 自定义 输入 | input控件中的默认文本 |
| size | 正整数 | input在页面中的显示宽度 |
| checked | checked(状态属性) | 定义选择控件默认被选中的项 |
| maxlength | 正整数 | 规定空间容许输入的最大字符数 |
| required | required | 必填 |
| readonly | readonly | 内容只读 |
| placeholder | 文本 | 用户输入提示文本 |
| multiple | multiple | 文件上传可选多文件 |
type常规值如下图:
| 常用类型属性 | 描述 |
|---|---|
| 电子邮件(非有效限制) | |
| search | 查询框(点击x课清除内容) |
| text | 单行文本输入框(明文)使用频率最高 |
| password | 密码输入框(密文) |
| radio | 单选按钮 |
| checkbox | 复选框(多选) |
| button | 按钮,主要通过js进行互动 |
| submit | 提交按钮,将表单数据发送至服务器 |
| reset | 重置按钮,清除表单中的所有数据 |
| image | 图像形式的提交按钮,需要添加url属性(图片的地址) |
| hidden | 隐藏的输入文本(输入不显示、防窥屏) |
| file | 供文件上传(multiple属性可以开启多文件选择) |
| number | 只能输入数字 |
| date | 日期选择(年月日) |
| tel | 电话号码(非有效限制) |
| time | 时间选择 |
text属性的常见css设置:
- outline:点击时的聚焦边框效果,如果想要去除可以设置outline:0;同时还可以设置颜色、边框宽度以及边框样式,即outline-color、outline-width和outline-style;
textarea控件
如果需要输入大量信息,需要使用textarea标签,能够轻松地创建多行文本输入框,基本语法如下
<textarea cols='每行中的字符数' rows='显示的行数'>
文本内容
</textarea>
textarea默认情况下是可以进行拖动延展的,可以在css中设置resize:none取消拖动。
select控件
select控件,就是非常常见的下拉选择框,基本语法格式如下:
<select>
<option>选项一</option>
<option>选项二</option>
<option>选项三</option>
</select>
类似于ul与li的关系,select中至少包含一对option,在option中定义selected='selected'时,当前项即为默认选中项。同样的,可以设置select的border和outline以及background-color等样式