HTML表单

一、HTML表单是什么?

HTML表单是用户和web站点或应用程序之间交互的主要内容之一。它们允许用户将数据发送到web站点。大多数情况下,数据被发送到web服务器。
HTML表单是由一个或多个小部件组成的。这些小部件可以是文本域、选择框、按钮、复选框或单选按钮。

二、表单标签<form>

所有HTML表单都以一个<form>元素开始

标签省略不允许,开始标签和结束标签都不能省略
<form action="/my-handling-form-page" method="post"></form>

这个元素正式定义了一个表单。就像<div>元素或<p>元素,它是一个容器元素,但它也支持一些特定的属性来配置表单的行为方式。它的所有属性都是可选的,但至少要设置action属性和method属性,这被认为是最佳实践。

  • action 属性定义了在提交表单时所收集数据的提交位置(URL)。.
  • method 属性定义了发送数据的HTTP方法(它可以是“get”或“post”)。

三、 表单元素

1、表单输入标签<input>
HTML <input> 元素用于为基于Web的表单创建交互式控件,以便接受来自用户的数据

标签省略必须有开始标签但不必有结束标签
    <input type=”类型”  name=”名称” />  <input type="text">

name:
控件的名称,与表单数据一起提交
type:

text:单行文字域。
password:一个值被遮盖的单行文本字段。使用 maxlength 指定可以输入的值的最大长度
file:此控件可以让用户选择文件。
checkbox:复选框。必须使用 value 属性定义此控件被提交时的值。使用 checked 属性指示控件是否被选择。
radio:单选按钮。必须使用 value 属性定义此控件被提交时的值。使用checked 属性指示控件是否缺省被选择。在同一个”单选按钮组“中,所有单选按钮的 name 属性使用同一个值; 一个单选按钮组中,同一时间只有一个单选按钮可以被选择。
button:无缺省行为按钮。
submit:用于提交表单的按钮。
reset:重置按钮
hidden:不显示在页面上的控件,但它的值会被提交到服务器。

value:
控件的初始值.
checked:
如果该元素的type属性的值为radio或者checkbox,则该布尔属性的存在与否表明了该控件是否是默认选择状态.
disabled:
这个布尔属性表示此表单控件不可用。 特别是在禁用的控件中, click 事件 将不会被分发
readonly:
这个布尔属性用于指明用户无法修改控件的值。
HTML5 如果控件的 type 属性为hidden, ,checkbox, radio, file时,此属性会被忽略。

2、项目标题标签< label >
HTML <label>元素表示用户界面中项目的标题,它可以使标题对应的文本框自动获焦。

标签省略不允许,开始标签和结束标签都不能省略
<label>Click me <input type="text" id="User" name="Name" /></label>

<label for="User">Click me</label>
<input type="text" id="User" name="Name" />

for:需要标记的表单元素的ID

3、菜单和列表标签<select> <option> <optgroup>
1)<select>
HTML select (<select>) 元素是一种表单控件,可创建选项菜单。菜单内的选项为<option> , 可以由 <optgroup> 元素分组。选项可以被用户预先选择

标签省略不允许,开始标签和结束标签都不能省略.

2)<option>
HTML元素 <option> 用于定义在<select><optgroup>元素中包含的项。

标签省略不允许,起始标签是必需的,结束标签有时可以省略但不提倡
<select name="select">
                <option value="value1">Value 1</option> 
                <option value="value2" selected>Value 2</option>
                <option value="value3">Value 3</option>
</select>

参数说明:

select-name:
元素的名称

select-disabled:
这个布尔值的属性表明一个用户是否可以操控该表单对象.

select-multiple:
这个布尔值的属性标记select是否可以多选. 默认是单选.

option-disabled:
如果设置了这个布尔属性,选项就不是可选的。浏览器通常会将这种控件显示为灰色,并且不再接受任何浏览器事件,例如鼠标点击或者焦点相关的事件。如果这个属性没有设置,如果元素的祖先是禁用的,元素仍然是禁用的

option-selected:
如果存在, 则这个布尔属性表明,这个选项初始被选中。如果 <select> 元素的 multiple 属性没有设置,这个 <select> 元素只有一个 <option> 元素可以拥有 selected 属性。

option-value:
这个属性的内容代表这个选项选中的话,提交给表单的值。如果省略了这个属性,值就从选项元素的文本内容中获取。

3)<optgroup>
HTML元素 <optgroup> 会创建包含在一个 <select> 元素中的一组选项

标签省略不允许,开始标签和结束标签都不能省略

disabled:
如果设置了这个布尔值,那么这个选项组中将没有选项是可以被选择的。通常浏览器会置灰这样的控件,它不会再接受任何浏览器事件,例如鼠标点击或者焦点相关的事件。
label:
选项组的名字,当在用户界面标记(label)选项的时候可以被浏览器使用。使用这个元素时必须加上这个属性.

<select>
  <optgroup label="Group 1">
    <option>Option 1.1</option>
  </optgroup> 
  <optgroup label="Group 2">
    <option>Option 2.1</option>
    <option>Option 2.2</option>
  </optgroup>
  <optgroup label="Group 3" disabled>
    <option>Option 3.1</option>
    <option>Option 3.2</option>
    <option>Option 3.3</option>
  </optgroup>
</select>

4、文字域标签<textarea>
HTML <textarea> 元素表示一个多行纯文本编辑控件

标签省略不允许,开始标签和结束标签都不能省略
<textarea name="textarea" rows="10" cols="50">Write something here</textarea>

name
元素的名称
cols
文本域的可是宽度。必须为正数
rows
元素的输入文本的行数(显示的高度)。
disabled
禁用文本域。默认为false
readonly
不允许用户修改元素内文本

5、表单分组标签<fieldset>&<legend>
HTML的<fieldset> 元素通常用来对表单中的控制元素进行分组
HTML的<legend>元素代表一个用于表示它的父元素<fieldset>的内容的标题。

标签省略不允许,开始标签和结束标签都不能省略
<form action="test.php" method="post">
    <fieldset>
        <legend>Title</legend>
        <input type="radio" id="radio"> <label for="radio">Click me</label>
    </fieldset>
</form>

四、HTML5的新增表单属性

placeholder : 输入框提示信息
                    typetext类型的input
autofocus : 指定表单获取输入焦点
                文档中只有一个表单元素可以具有autofocus属性,它是一个布尔值。
                 如果type属性设置为隐藏则不能应用
required : 此项必填,不能为空
                这个属性指定用户在提交表单之前必须为该元素填充值. 当type属性是
                hidden或者按钮类型(submit,reset,button)时不可使用
formaction :在submit里定义提交地址
pattern : 正则验证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值