HTML表单域

什么是表单

HTML 表单的主要作用是接收用户的输入,当用户提交表单时,浏览器将用户在表单中输入的数据打包,并发送给服务器,从而实现用户与Web服务器的交互。

表单是控件的容器,一个表单由form元素、表单控件和表单按钮三部分组成:

1) form元素:用来创建表单,并通过 action、method和enctype三个属性,来设置表单的提交路径、提交方式、编码类型。

主要属性

1)action : 属性值是URL,规定当提交表单时应该思想何处提交数据,为空时表示在当前页面操作;

2)method :表单数据的提交方式,规定用何种方式将表单数据提交到action属性指定的页面;
3)enctype :表单数据的编码方式;
4)name :表单名称

包括post和get两种,分别对应POST和GET两个函数

post和get区别在于:get数据量小于1024KB,且表单提交时会在地址域显示表单数据域的数值;而post不受数据量的限制,且不会在地址栏显示表单域数据,一般在开发中较多采用

2) 表单控件:主要用来收集用户数据,包括 label、input、textarea、select、datalist、keygen、progress、meter、output等,也包括对表单控件进行分组显示的 fieldset 和 legend 控件。根据功能的不同,input 控件又分为 text、password、radio、checkbod、file、submit、reset、search、tel、url、email、number、range、color、Date Pickers等类型。
如下图
在这里插入图片描述
3) 表单按钮:包括提交按钮、重置按钮和一般按钮。提交按钮和一般按钮可用于把表单数据发送到服务器,重置按钮用于重置表单,把整个表单恢复到初始状态。

任何HTML表单,都由 form 元素创建,即以 标签开始, 标签结束,在 和 之间,是表单所需要的控件和按钮。

每一个表单控件都有一个 name 属性,用于在提交表单时,对表单数据进行识别。访问者通过提交按钮提交表单,表单提交后,他们填写的数据就会发送到服务器端进行处理。如,用户登录的表单:

<form action="login.asp" method="post">
    <label>用户名: </label><input type="text" name="username" />
    <label>密码: </label><input type="password" name="password" />
    <input type="submit" value=" 登 录 " />
    <input type="reset" name="" id="" value="取消">
</form>

在这里插入图片描述
HTML5新增表单控件和表单属性
新的输入性表单控件:
写在input里
email:电子邮箱文本框,跟普通的没什么区别

 - 当输入不是邮箱的时候,验证不通过

 - 移动端的键盘会发生变化

tel:电话号码

url:网页的URL

search:搜索引擎

- chrome下输入文字后,会多出一个关闭的X

range:特定范围内的数值选择器

- min、max、step(步数)

- 例子: 用js来显示当前数值

number:只能包含数字的输入框

- 输入框末尾有两个箭头 上为加 下为减

color:颜色选择器

  • 点击显示颜色版

datetime:显示完整日期

  • 类似select选择样式

datetime-local:显示完整日期, 不包含时区

time:显示时间,不含时区

date:显示日期{年月日}

week:显示周{年月日周}

mouth:显示月{年月}

新的表单特性和函数

placeholder:输入框提示信息

- 例子:微博的密码框提示

autocomplete

- 默认为on,关闭提示选择off

autofocus:指定表单获取输入焦点

list和datalist:为输入框构造一个选择列表

- list值为datalist标签的id

required:此选项必填, 不能为空

Pattern:正则验证

- pattern=“\d{1,5}”

Formaction在submit里定义提交地址

<input type="text"
  placeholder="请输入4-16个字符" // 输入框内显示
  autocomplete="off" // 是否记录输入的值
  autofocus // 聚焦
  required // 输入框不能为空
  pattern="\d{1,5}" // 必须输入1到5个数字
 />
//  required 和 pattern 具有安全隐患 如果在控制台修改input的pattern和required 那么就可以破除校验

// 如果用户在某个页面输入相当多的数据,临时有事需要离开一段时间,此时数据应该保存至草稿箱,那么同一个form表单下,将会有两个不同地址的sumbit提交 ope浏览器已支持 其余浏览器可能不支持
<form action="https://www.baidu.com">
  <input type="text">
  <input type="submit" value="提交" />
  <input type="submit" value="保存至草稿箱" formaction="http://www.miaov.com"/>
</form>

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

label 元素不会向用户呈现任何特殊效果。不过,它为鼠标用户改进了可用性。如果您在 label 元素内点击文本,就会触发此控件。就是说,当用户选择该标签时,浏览器就会自动将焦点转到和标签相关的表单控件上。
label标签的 for 属性应当与相关元素的 id 属性相同。

select 元素可创建单选或多选菜单。

select 元素中的 option标签用于定义列表中的可用选项。

textarea 标签定义多行的文本输入控件。

文本区中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier)。

可以通过 cols 和 rows 属性来规定 textarea 的尺寸,不过更好的办法是使用 CSS 的 height 和 width 属性。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值