HTML14.表单
目标:
-
能写出最常用的注册类表单
-
能说出input表单常见属性
作用: 表单目的是为了收集用户信息。 在我们网页中,我们也需要跟用户进行交互,收集用户资料,此时也需要表单。
在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成
表单控件: 包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。
提示信息: 一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
表单域: 相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
2.1 input 控件(重点)
-
语法
<input type="属性值" value="你好">
-
input输入的意思
-
标签为单标签
-
type属性设置不同的属性值用来指定不同的控件类型
-
除了type属性还有别的属性
-
input常用属性
-
type属性
-
这个属性通过改变值,可以决定了你属于哪种input表单。
-
比如type='text'就表示 文本框 可以做 用户名,昵称等。
-
比如type='password'就是表示密码框 用户输入的内容是不可见的。
用户名:<input type="text" />
密码:<input type="password" />
-
value 属性 值
用户名:<input type="text" name="username" value="强输入用户名" />
-
value默认的文本值,有些表单想刚打开页面就默认显示几个文字,就可以通过这个value来设置。
-
name属性
<input type="text" name="username" />
name表单名字,这样,后台可以通过这个name属性找到这个表单。页面中的表单很多,name主要作用就是用于区别不同的表单。
-
name属性后面的值,是我们自己定义的。
-
radio(单选按钮)如果是一组,我们必须给他们命名相同的名字name 这样就可以多个选其中的一个啦
<!-- radio 单选按钮 -->
性别:
男 <input type="radio" name="sex" />
女 <input type="radio" name="sex" />
未知 <input type="radio" name="sex" />
<!-- checkbox 多选按钮 -->
爱好:
睡觉 <input type="checkbox" name="hobby" />
爬山 <input type="checkbox" name="hobby" />
篮球 <input type="checkbox" name="hobby" />
足球 <input type="checkbox" name="hobby" />
-
name属性,我们现在用的比较少,但是,当我们学ajax和后台的时候,是必须的。
-
checked属性
-
表示默认选中状态。较常见于 单选按钮和复选按钮
性 别:
<input type="radio" name="sex" value="男" checked="checked" /> 男
<input type="radio" name="sex" value="女" /> 女
上面这个,表示就默认选中了男 这个单选按钮
还有一些其他的如下:
按钮:
<!-- 普通按钮需要写value值 -->
<input type="button" value="获取短信验证码" />
<!-- submit提交按钮不写会自动默认有value值为提交,也可以用value值修改它 -->
<input type="submit" />
<input type="submit" value="提交所填" />
<input type="reset" value="重置所填" />
<!-- 图片提交按钮 里面必须包含src属性 不用value值 -->
<input type="image" src="" /> <br />
上传头像:
<!-- 文件域 上传文件用的 -->
<input type="file">
-
input属性小结
属性 | 说明 | 作用 |
---|---|---|
type | 表单类型 | 用来指定不同的控件类型 |
value | 表单值 | 表单里面默认显示的文本 |
name | 表单名字 | 页面中的表单很多,name主要作用就是用于区别不同的表单 |
checked | 默认选中 | 表示那个单选或者复选按钮一开始就被选中了 |
2.2label标签(理解)
目标: label标签主要目的是为了提高用户体验。为用户提供最优秀的服务。
概念: label标签为input元素定义标注(标签)
作用: 用于绑定一个表单元素,当点击label标签的时候,被绑定的表单元素就会获得输入焦点。
如何绑定元素呢?
-
第一种用法就是用label直接包括input表单。
<label> 用户名:<input type="radio" name="usename" value="请输入用户名"> </label>
适合单个表单选择
-
第二种用法for属性规定label与那个表单元素绑定。
<label for="sex">男</label>
<input type="radio" name="sex" id="sex">
例: 通过 for 和 id 来控制 昵称: (格式有点像锚点)
也就是说:当我们鼠标点击label标签里面的文字时,光标会定位到指定的表单里面
2.3 textarea 控件(文本域)
放的字多,是个双标签,一般用于网页留言
-
语法:
<textarea>
文本内容
</textarea>
-
作用: 通过textarea控件可以轻松地创建多行文本输入框 cols="每行中的字符数" rows="显示的行数" 我们实际开发不用,宽度和高度用CS来控制
表单 | 名称 | 区别 | 默认值显示 | 用于场景 |
---|---|---|---|---|
input type="text" | 文本框 | 只能显示一行文本 | 单标签,通过value显示默认值 | 用户名、昵称、密码等 |
textarea | 文本域 | 可以显示多行文本 | 双标签,默认值写道标签中间 | 留言板 |
2.4 select下拉列表
目的:
如果有多个选项让用户选择,为了节约空间,我们可以使用select控件定义下拉列表
语法:
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select>
-
注意:
-
中至少包含一对option
-
在option中定义selected="selected"时,当前项即为默认选中项
-
但是我们实际开发用的比较少
表单域
-
收集的用户信息怎么传递给服务器?
通过form表单域
-
目的:
在HTML中,form标签被用于定义表单域,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。
语法:
<form action="url地址" method="提交方式" name="表单名称">
各种表单控件
</form>
常用属性:
属性 | 属性值 | 作用 |
---|---|---|
action | url地址 | 用于指定接收并处理表单数据的服务器程序的url地址。 |
method | get/post | 用于设置表单数据的提交方式,其取值为get或post。 |
name | 名称 | 用于指定表单的名称,以区分同一个页面中的多个表单。 |
注:每个表单都应该有自己的表单域,我们现在做页面,不写看不到效果,但是 如果后面学 ajax后台交互的时候,必须需要form表单域。
一些约定
元素属性
-
元素属性值使用双引号语法(html用双引号,js用单引号,为了后面好区分)
-
元素属性值可以写上的都写上
推荐:
<input type="text" />
<input type="radio" name="name" checked="checked" />
不推荐:
<input type=text />
<input type='text' />
<input type="radio" name="name" checked />
查文档
W3C:http://www.w3school.com.cn/
MDN:https://developer.mazilla.org/zh-CN/