一、表单介绍

表单目的是为了收集用户信息。在我们网页中, 我们也需要跟用户进行交互,收集用户资料,此时也需要表单。在 HTML 中,一个完整的表单通常由表单控件(也称为表单元素)、提示信息和表单域 3 个部分构成。

表单控件:包含了具体的表单功能项,如单行文本输入框、密码输入框、复选框、提交按钮、重置按钮等。

提示信息:一个表单中通常还需要包含一些说明性的文字,提示用户进行填写和操作。

表单域:他相当于一个容器,用来容纳所有的表单控件和提示信息,可以通过他定义处理表单数据所用程序的 url 地址,以及数据提交到服务器的方法。如果不定义表单域,表单中的数据就无法传送到后台服务器。

二、input 控件(重点)

<input/>标签为单标签,type 属性为其最基本的属性,其取值有多种,用于指定不同的控件类型。除了 type 属性之外,<input/> 标签还可以定义很多其他的属性,其常用属性如下表所示。

属性        属性值          描述
           text           单行文本输入框
           password       密码输入框
           radio          单选按钮
           checkbox       复选框
type       button         普通按钮
           submit         提交按钮
           reset          重置按钮
           image          图像形式的提交按钮
           file           文件域
           hidden         隐藏当前的 input 元素

name       由用户自定义     控件的名称
value      由用户自定义     input控件中的默认文本值
size       正整数          input控件在页面中的显示宽度
checked    checked        定义选择控件默认被选中的项
maxlength  正整数          控件允许输入的最多字符数
disabled   disabled       当input 元素加载时禁用此元素
readonly   readonly       设置输入字段为只读
alt        text           定义图像输入的替代文本
size       number_of_char 定义输入的字段的宽度
src        url            定义以提交按钮形式显示的图像的 url
accept     mime_type      设置通过文件上传来提交的文件的类型

三、label 标签

label 标签为 input 元素定义标注(标签)。

作用: 用于绑定一个表单元素, 当点击 label 标签的时候, 被绑定的表单元素就会获得输入焦点。

有两种方法来绑定元素:

1、嵌套法:当只需绑定第一个元素时,用 label 标签包裹即可

<label> <input type="text"></label>

2、for 属性绑定:当有多个元素时,需用 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 控件定义下拉菜单的基本语法格式如下:

<select>
  <option>选项1</option>
  <option>选项2</option>
  <option>选项3</option>
  ...
</select>

select 中有两个常用的属性:

multiple="multiple" 设置该属性,可以支持多选

size="8" 设置该属性,可以改变下拉列表的高度,也可以用 height 和 width 来设置宽高

Demo:

<select name="test" multiple="multiple" size="8" >
  <option>浙江</option>
  <option selected="selected">辽宁</option>
  <option>北京</option>
  <option selected="selected">天津</option>
  <option>广州</option>
  <option>湖北</option>
</select>

Tips:

1、<select></select>中至少应包含一对<option></option>

2、在 option 中定义 selected ="selected "时,当前项即为默认选中项。

六、button 标签

<button> 元素定义可点击的按钮。

语法:

<button type="button">我是按钮</button>

type 属性的值可以是 button(普通按钮)、reset(重置按钮)、submit(提交按钮) 三个值,默认是 button。

七、表单域

在 HTML 中,form 标签被用于定义表单域,即创建一个表单,以实现用户信息的收集和传递,form 中的所有内容都会被提交给服务器。

语法:

<form action="url地址" method="提交方式" name="表单名称">
  各种表单控件
</form>

常用属性:

属性                 说明
accept-charset      规定在被提交表单中使用的字符集(默认:页面字符集)。
action              规定向何处提交表单的地址(URL)(提交页面)(必须有)
autocomplete        规定浏览器应该自动完成表单(默认:开启)。
enctype             规定被提交数据的编码(默认:url-encoded)。
method              规定在提交表单时所用的 HTTP 方法(默认:GET)
name                规定识别表单的名称(对于 DOM 使用:document.forms.name)以区分同一个页面中的多个表单
novalidate          规定浏览器不验证表单
target              规定 action 属性中地址的目标(默认:\_self)

注意: 每个表单都应该有自己表单域。

扩展:表单提交

1、form 标签是表单标签;
  • action 属性设置提交的服务器地址(必须有);

  • method 属性设置提交的方式 GET(默认值)或 POST;

2、表单提交的时候,数据不会发送给服务器的三种情况:

① 表单项没有 name 属性值;

② 单选、复选(下拉列表中的 option 表示)都需要添加 value 属性,以便发送给服务器;

③ 表单项不在提交 form 标签中;

3、GET 请求与 POST 请求
GET 请求的特点是:

① 浏览器地址栏中的地址是: action 属性[+?+请求参数] 请求参数的格式是: name=value&name=value

② 不安全,参数在地址栏可以看到

③ 它有数据长度的限制

POST 请求的特点是:

① 浏览器地址栏中只有 action 属性值;

② 相对于 GET 请求要安全;

③ 理论上没有数据长度的限制;

八、fieldset 与 legend 标签

<fieldset> 元素组合表单中的相关数据,将表单内的相关元素分组,打包。

<legend> 元素为 <fieldset> 元素定义标题。

语法与案例:

<form action="">
  <fieldset>
    <legend>学生信息:</legend>
    姓名:<input type="text" name="firstname" value="Tony"> 
    联系电话:<input type="text" name="lastname" value="秦皇岛"><br>
    <input type="submit" value="保存">
  </fieldset>
</form> 

更多的标签学习请参考这里:http://www.w3school.com.cn/html/index.asp

posted on 2019-06-23 16:01  格物致知_Tony  阅读(336)  评论(0编辑  收藏  举报