HTML入门:08HTML5表单进阶


HTML5拥有多个新的表单input输入类型,它们提供了更好的输入控制和验证,下面详细介绍这些新的输入类型的用法。

input类型描述
date从一个日期选择器选择一个日期
month选择一个月份
week选择周和年
time选择一个时间
datetime选择一个日期(UTC时间)
datetime-local选择一个日期和时间(无时区)
email包含e-mail地址的输入域
urlURL地址的输入域
number数值的输入域
range一定范围内数字值的输入域
search用于搜索域
color主要用于选取颜色

1 时间类型

首先,我们来看前六个,他们都是关于日期、时间选取的输入类型。其中:

  • date用于选取日、月和年;
  • month用于选取月和年;
  • week用来选取周和年;
  • time用来选取时间,也就是小时和分钟;
  • datetime和datetime-local都是用来选取时间、日、月和年,不同的是,前者的时间是utc国际标准时间,而后者的时间则是本地时间。

示例:首先,我们通过form标签新建一个表单,然后新建一个input并设置为date类型,效果如下。

<form>
    选取时间:<input type="date" name="datetime1"> <br>
</form>

请添加图片描述

接下来再新建五个input类型,分别设置为month、week、time、datetime、datetime-local类型,效果如下。

<form>
    选取时间:<input type="date" name="datetime1"> <br>
    选取月份:<input type="month" name="datetime2"> <br>
    选取周数:<input type="week" name="datetime3"> <br>
    选取时间:<input type="time" name="datetime4"> <br>
    统一时间:<input type="datetime" name="datetime5"> <br>
    本地时间:<input type="datetime-local" name="datetime6">
</form>

请添加图片描述

2 email类型和url类型

email类型用于应该包含e-mail地址的输入域,在用户输入数据后会自动验证email域的值。

url类型用于应该包含URL地址的输入域,在用户输入数据后,会自动验证url域的值。

示例:把输入框的属性改为email和url,效果如下。

<form>
    Email:<input type="email" name="email"/> <br>
    网址:<input type="url" name="url">
</form>

请添加图片描述

3 number、range类型

number、range类型用于应该包含一定范围内数字值的输入域。

  • number类型显示为输入框;
  • range类型显示为滑动条。

我们可以通过设定参数对所接受的数字进行限定,如下表所示。

属性描述
maxnumber规定允许的最大值
minnumber规定允许的最小值
stepnumber规定合法的数字间隔
valuenumber规定默认值

示例:把输入框的属性改为number和range类型,页面会增加一个输入选择框和一个滑动条。

<form>
    数字文本:<input type="number" name="number" max="7" 
                min="0" step="1" value="2"> <br>
    数字滑动:<input type="range" name="range">
</form>

请添加图片描述

number输入框可以手动输入数字,也可以通过后面的箭头选择数字,当出现错误输入时,输入框会变成红色提示。

range滑动条则可以通过左、右方向键按照事先设定好的步长进行数值的选择。

4 search类型

search类型用于搜索域,比如站点搜索或调用百度搜索的参数输入框等。

search域显示为常规的文本域,在用户体验上和text区别不大,但是它给机器识别提供了方便,也使得程序的可读性增强,由于在前端页面展示上的效果不明显,search类型就不演示了。

5 color类型

color类型用于提供用户选取颜色的输入域,显示为当前选取的颜色。

示例:把输入框的属性改为color类型后,页面中会出现一个色块,通过鼠标点击色块会弹出颜色选择面板,用户指定好新的颜色后色块会变成相应颜色。

<form>
    <input type="color" name="color">
</form>

请添加图片描述

HTML5新增了三个表单元素,分别为datalist、keygen和output。

表单元素描述
datalist元素规定输入域的选项列表。使用<input>元素的list属性与<datalist>元素的id绑定
keygen提供一种验证用户的可靠方法。签规定用于表单的密钥对生成器字段。
output用于不同类型的输出。比如计算或脚

HTML5还新增了一些表单属性,如下表所示。

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

6 实例

如下是一个表单的综合实例。可以看出,本文中提到的一些表单、类型、属性等信息都出现在这里,其中:

请添加图片描述

  • 通过placeholder属性实现地址、邮箱等字段在输入之前提示信息的出现;

    地址:<input type="text" name="address" 
              placeholder="请填写详细地址"/> <br>
    
    电话:<input type="phone" name="phone"/> <br>
    
    邮箱:<input type="email" name="email" 
              placeholder="请按邮箱格式填写"/> <br> 
    
    主页:<input type="url" name="url" 
              placeholder="请按URL格式填写"/> <br>
    
    生日:<input type="date" name="sr"/> <br>
    
    身高:<input type="number" name="sg" min="90" max="200" step="1" 
              placeholder="请输入90-200的数字"/> <br/>
    
  • 通过autofocus属性实现在页面刚打开时光标默认出现在用户字段输入框。

    用户名:<input type="text" list="nameinfo" 
               name="username" autofocus/> <br/>
    

再有,登录信息中的用户名和密码字段分成两部分显示,其目的是想说明:在HTML5之前的版本中,所有的表单元素必须放在form标签内,而HTML5允许form标签之外存在其他的表单元素,如这里的密码字段。

<fieldset>
    <legend>登陆信息</legend>
    密码:<input type="password" list="nameinfo" name="pwd"/>
</fieldset>

完整代码如下:

<!doctype html>
<html>
    <head>
        <meta charset='UTF-8'  />
        <title>页面标题</title>
    </head>
    <body>
        <h3>HTML5-表单综合实例</h3>
        <form action="#" method="get" style="width:300px;">
            <!--行内CSS样式-->
            <fieldset style="border:2px solid red;">
                <legend>登陆信息</legend>
                用户名:<input type="text" list="nameinfo" 
                           name="username" autofocus/> <br/>
                <datalist id="nameinfo">
                    <option value="zhangsan"/>

                    <option value="lisi"/>

                    <option value="wangermazi"/>

                    <option value="wangmazi"/>

                    <option value="goudan"/>
                </datalist>
            </fieldset>
            <fieldset>
                <legend>详细信息</legend>
                地址:<input type="text" name="address" 
                          placeholder="请填写详细地址"/> <br>

                电话:<input type="phone" name="phone"/> <br>

                邮箱:<input type="email" name="email" 
                          placeholder="请按邮箱格式填写"/> <br> 

                主页:<input type="url" name="url" 
                          placeholder="请按URL格式填写"/> <br>

                生日:<input type="date" name="sr"/> <br/>

                身高:<input type="number" name="sg" min="90" max="200" step="1" 
                          placeholder="请输入90-200的数字"/> <br/>

                体重:<input type="range" name="tz" min="10" max="300" step="1"/> <br/>

                颜色:<input type="color" name="color"/> <br/>
                </fleldset>

            <input type="submit" value="提交"/>
            <input type="reset" value="重置"/>
        </form>

        <fieldset>
            <legend>登陆信息</legend>
            密码:<input type="password" list="nameinfo" name="pwd"/>
        </fieldset>
    </body>
</html>
  • 27
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Corone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值