在HTML中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域3个部分构成。
表单控件:
包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。
提示信息:
一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。
表单域:
他相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的url地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。
input 控件
在上面的语法中,<input />
标签为单标签,type属性为其最基本的属性,其取值有多种,用于指定不同的控件类型。除了type属性之外,<input />
标签还可以定义很多其他的属性,其常用属性如下表所示。
属性 | 属性值 | 描述 |
---|---|---|
type | text | 单行文本输入框 |
type | password | 密码输入框 |
type | radio | 单选按钮 |
type | checkbox | 复选框 |
type | button | 普通按钮 |
type | submit | 提交按钮 |
type | reset | 重置按钮 |
type | image | 图像形式的提交按钮 |
type | file | 文件域 |
name | 由用户自定义 | 控件的名称 |
value | 由用户自定义 | input控件中的默认文本值 |
size | 正整数 | input控件在页面中的显示宽度 |
checked | checked | 定义选择控件默认被选中的项 |
maxlength | 正整数 | 控件允许输入的最多字符数 |
label标签
label 标签为 input 元素定义标注(标签)。
作用: 用于绑定一个表单元素, 当点击label标签的时候, 被绑定的表单元素就会获得输入焦点
如何绑定元素呢?
for 属性规定 label 与哪个表单元素绑定。
<label for="male">Male</label>
<input type="radio" name="sex" id="male" value="male">
textarea控件(文本域)
如果需要输入大量的信息,就需要用到textarea/textarea标签。通过textarea控件可以轻松地创建多行文本输入框,其基本语法格式如下:
<textarea cols="每行中的字符数" rows="显示的行数">
文本内容
</textarea>
下拉菜单
使用select控件定义下拉菜单的基本语法格式如下
<select>
<option>选项1</option>
<option>选项2</option>
<option>选项3</option>
...
</select>
注意:
- select</select中至少应包含一对option></option。
- 在option 中定义selected =" selected "时,当前项即为默认选中项。
表单域
在HTML中,form标签被用于定义表单域,即创建一个表单,以实现用户信息的收集和传递,form中的所有内容都会被提交给服务器。创建表单的基本语法格式如下:
<form action="url地址" method="提交方式" name="表单名称">
各种表单控件
</form>
常用属性:
- Action
在表单收集到信息后,需要将信息传递给服务器进行处理,action属性用于指定接收并处理表单数据的服务器程序的url地址。- method
用于设置表单数据的提交方式,其取值为get或post。- name
用于指定表单的名称,以区分同一个页面中的多个表单。
注意: 每个表单都应该有自己表单域。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<!-- 表单标签 -->
<!-- action="提交的url地址" method="get/post"提交的方式 name="表单的名字" -->
<!-- get:提交的信息会出现在地址栏上,不安全 -->
<!-- post:安全 -->
<form action="" method="post" name="login">
<div>
<!-- 文本框 -->
<!-- 属性:设置文本框的默认值 -->
<!-- h5新增属性:placeholder="文本框的默认值",占位提示符 -->
<!-- value属性,需手动删除 -->
用户名:<input type="text" placeholder="请输入姓名">
</div>
<div>
<!-- 密码框 -->
<!-- 属性:name="表单控件的名字" -->
<!-- 属性:id="id名",唯一性,跟人的身份证一样,学js的时候用 -->
<!-- 属性:maxlength="" ,限制输入的最大字符数 -->
密码:<input maxlength="6" type="password" name="password" placeholder="请输入密码">
</div>
<!-- 暂时使用p标签,增加间隙 -->
<p>
<!-- 单选框,多选一:必须要有相同的name属性 -->
<!-- 属性:默认选中:checked="checked" -->
性别:<input type="radio" name="sex" checked="checked">男
<input type="radio" name="sex">女
</p>
<p>
<!-- 复选框 -->
<!-- 属性:默认选中:checked="checked" -->
喜欢的口红:
<input type="checkbox" checked="checked">圣罗兰
<input type="checkbox">迪奥
<input type="checkbox">纪梵希
<input type="checkbox">娇兰
<input type="checkbox">古驰
</p>
<p>
<!-- 下拉列表框 -->
<!-- 属性:默认选中:selected="selected" -->
出生年月日:
<select name="">
<!-- 列表框的选项 -->
<option value="1995年">1995</option>
<option value="1996年">1996</option>
<option value="1997年" selected="selected">1997</option>
</select>
<select name="">
<!-- 列表框的选项 -->
<option value="1月">1</option>
<option value="2月">2</option>
<option value="3月">3</option>
<option value="4月">4</option>
<option value="5月">5</option>
<option value="6月">6</option>
<option value="7月">7</option>
<option value="8月">8</option>
<option value="9月">9</option>
<option value="10月">10</option>
<option value="11月">11</option>
<option value="12月">12</option>
</select>
<select name="">
<!-- 列表框的选项 -->
<option value="1日">1</option>
<option value="2日">2</option>
<option value="3日">3</option>
<option value="4日">4</option>
<option value="5日">5</option>
<option value="6日">6</option>
<option value="7日">7</option>
<option value="8日">8</option>
<option value="9日">9</option>
<option value="10日">10</option>
<option value="11日">11</option>
<option value="12日">12</option>
<option value="13日">13</option>
<option value="14日">14</option>
<option value="15日">15</option>
<option value="16日">16</option>
<option value="17日">17</option>
<option value="18日">18</option>
<option value="19日">19</option>
<option value="20日">20</option>
<option value="21日">21</option>
<option value="22日">22</option>
<option value="23日">23</option>
<option value="24日">24</option>
<option value="25日">25</option>
<option value="26日">26</option>
<option value="27日">27</option>
<option value="28日">28</option>
<option value="29日">29</option>
<option value="30日">30</option>
<option value="31日">31</option>
</select>
</p>
<p>
<!-- 文本域 -->
<!-- 属性:cols=""横向的尺寸 rows=""纵向的尺寸 -->
我宣誓:<textarea name="" id="" cols="100" rows="10"></textarea>
<!-- 防止文本域拖拽: -->
</p>
<p>
<!-- 普通按钮 -->
<input type="button" value="点我">
<!-- 普通按钮的另一种写法 -->
<button>小样,点我</button>
<!-- 提交按钮 -->
<input type="submit" value="哈哈你点我啊~">
<!-- 重置按钮 -->
<input type="reset">
<!-- 图片按钮 -->
<input type="image" src="img/button.jpg">
</p>
<p>
<!-- 文件域 -->
<input type="text">
</p>
<p>
<!-- 能储存数据/信息 -->
隐藏域:<input type="hidden" value="哈哈你看不到我">
</p>
<p>
<!-- 点击label标签中的内容,可以让关联的input控件聚焦 -->
<label for="tel">电话号码:</label>
<input type="text" id="tel">
</p>
</form>
</body>
</html>