HTML5的增强型表单 | 青训营笔记

121 阅读2分钟

HTML5的增强型表单 | 青训营笔记

这是我参与「第五届青训营」笔记创作活动的第一天

(一)新增加的表单类型

1、number类型

只能输入数字类型的表单

<input type="number" name="demoNumber" min="1" max="100" step="2"/>

  • name:用来标识表单提交时的key值
  • min:当前输入框输入的最小值
  • max:当前输入框输入的最大值
  • step:步长,也就是在点击增大或者减小的时候增加减少的步长

屏幕截图 2023-01-16 154922.png

2、email类型

只能输入符合邮箱格式的内容,会进行自动校验

<input type="email" name="email" placeholder="请输入注册邮箱" />

Snipaste_2023-01-16_15-55-05.jpg

3、url类型

会自动检验网址格式是否正确

<input type="url" placeholder="请输入网址" name="url" />

Snipaste_2023-01-16_15-59-18.jpg

4、tel类型

只能输入符合电话格式的内容 <input type="tel" placeholder="输入电话" name="phone"/>

Snipaste_2023-01-16_16-01-39.jpg

5、range类型

输入表单变成了滚动条的样子

<input type="range" min="0" max="50" step="5" name="rangedemo" value="0" />

Snipaste_2023-01-16_16-05-32.jpg

6、date类型

可以选择日期

<input type="date" name="datedemo" />

屏幕截图 2023-01-16 161313.png

与时间相关的还有以下类型

type作用
datetime选择一个日期(UTC 时间)
datetime-local选择一个日期和时间 (无时区)
month选择一个月份
time选择一个时间
week选择周和年

7、color类型

用于进行颜色的选择

<input type="color"/>

屏幕截图 2023-01-16 161453.png

8、search类型

用于搜索域

<input type="search"/>

屏幕截图 2023-01-16 174559.png

(二)新增加的表单元素

1、datalist

元素规定输入域的选项列表,input的list属性与datalist的id绑定

 <input list="name">
 <datalist id="name">
    <option>demo</option>
    <option>test</option>
    <option>main</option>
 </datalist>

屏幕截图 2023-01-16 175152.png

2、keygen

<keygen> 标签规定用于表单的密钥对生成器字段。当提交表单时,私钥存储在本地,公钥发送到服务器。

使用样例:

<form action="" method="get">
      用户名: <input type="text" name="demo">
      加密: <keygen name="security">
      <input type="submit">
</form>

属性:

属性描述
autofocusautofocus使字段在页面加载时获得焦点
challengechallenge<keygen>的值设置为在提交时询问
disableddisabled禁用keygen 元素字段
formform_id定义该 keygen 字段所属的一个或多个表单
keytypersa dsa ec定义密钥的安全算法
namename定义元素的唯一名称

3、output

用来定义不同类型的输出(比如:脚本的输出)

属性:

属性描述
for定义输出域相关的一个或多个元素,以空格隔开
form定义输入字段所属的一个或多个表单,以空格隔开
name定义对象的唯一名称(表单提交时使用)

使用样例:

<form oninput="n.value=parseInt(x.value)+parseInt(y.value)">
      <input type="number" id="x" value="0"> +
      <input type="number" id="y" value="0"> =
      <output name="n" for="x y">0</output>
</form>    

屏幕截图 2023-01-16 180707.png

(三)新增加的表单属性

属性描述
placehoder简短的提示在用户输入值前会显示在输入域上
min 和 max设置元素最小值与最大值
step为输入域规定合法的数字间隔
required是一个 boolean 属性。要求填写的输入域不能为空
pattern描述了一个正则表达式用于验证<input> 元素的值
height 和 width用于 image 类型的 <input> 标签的图像高度和宽度
autofocus是一个 boolean 属性。规定在页面加载时,表单域自动地获得焦点
multiple是一个 boolean 属性。规定<input> 元素中可选择多个值