第 10 章 表单元素[中]

    1.type 属性总汇

    2.type 属性解析

    主讲教师:李炎恢

    本章主要探讨 HTML5 中表单中 input 元素的 type 属性,根据不同的值来显示不同的输入框。

    一.**type** 属性总汇

    input 元素可以用来生成一个供用户输入数据的简单文本框。在默认的情况下,什么样的数据均可以输入。而通过不同的属性值,可以限制输入的内容。

    二.**input** 元素解析

    1.type text 值时**

    解释:当 type 值为 text 时,呈现的就是一个可以输入任意字符的文本框,这也是默认行为。并且,还提供了一些额外的属性。

    属性名称 说明
    list 指定为文本框提供建议值的 datalist 元素,其值为datalist 元素的 id 值
    maxlength 设置文本框最大字符长度
    pattern 用于输入验证的正则表达式
    placeholder 输入字符的提示
    readonly 文本框处于只读状态
    disabled 文本框处于禁用状态
    size 设置文本框宽度
    value 设置文本框初始值
    required 表明用户必须输入一个值,否则无法通过输入验证

    //设置文本框长度

    //设置文本框输入字符长度

    1. <input type="text" maxlength="10">

    //设置文本框的初始值

    1. <input type="text" value="初始值">

    //设置文本框输入提示

    1. <input type="text" placeholder="请输入内容">
    1. <input list="footlist">
    2. <datalist id="footlist">
    3. <option value="苹果">苹果</option>
    4. <option value="桔子">桔子</option>
    5. <option value="香蕉" label="香蕉">
    6. <option value="梨子">

    //设置文本框内容为只读,可以提交数据

    1. <input type="text" readonly>

    //设置文本框内容不可用,不可以提交数据

    2.type**** password值时

    1. <input type="password">

    解释:当 type 值为 password 时,一般用于密码框的输入,所有的字符都会显示星号。密码框也有一些额外属性。

    这里除了正则和验证需要放在下一节,其余和文本框一致。

    3.type**** search时

    1. <input type="search">

    解释:和文本框一致,在除 Firefox 浏览器的其他现代浏览器,会显示一个叉来取消搜索内容。额外属性也和 text 一致。

    4.type**** numberrange时

    1. <input type="number">
    2. <input type="range">

    解释:只限输入数字的文本框,不同浏览器可能显示方式不同。生成一个数值范围文本框,只是样式是拖动式。额外属性如下:

    属性名称 说明
    list 指定为文本框提供建议值的 datalist 元素,其值为datalist 元素的 id 值
    min 设置可接受的最小值
    max 设定可接受的最大值
    readonly 设置文本框内容只读
    required 表明用户必须输入一个值,否则无法通过输入验证
    step 指定上下调节值的步长
    value 指定初始值

    //范围和步长

    1. <input type="number" step="2" min="10" max="100">

    5.type**** date系列时

    1. <input type="date">
    2. <input type="month">
    3. <input type="time">
    4. <input type="datetime-local">

    解释:实现文本框可以获取日期和时间的值,但支持的浏览器不完整。我们测试 Chrome 和 Opera 支持,其他浏览器尚未支持。所以,在获取日期和时间,目前还是推荐使用 jQuery 等前端库来实现日历功能。额外属性和 number 一致。

    6.type**** color时

    1. <input type="color">

    7.type**** checkboxradio时

    解释:生成一个获取布尔值的复选框或固定选项的单选框。额外属性如下:

    //默认勾选,默认值为 1

    1. <input type="checkbox" name="music" checked value="1">

    8.type**** submitreset和** button**时

    1. <input type="submit">

    解释:生成一个按钮,三种模式:提交、重置和一般按钮,和<button>元素相同。

    值名称 说明
    submit 生成一个提交按钮
    reset 生成一个重置按钮
    button 生成一个普通按钮

    如果是 submit 时,还提供了和<button>元素一样的额外属性:formaction、formenctype、formmethod、formtarget 和 formnovalidate。

    9.type**** image时

    1. <input type="image" src="img.png">

    解释:生成一个图片按钮,点击图片就实现提交功能,并且传送了分区响应数据。图片按钮也提供了一些额外属性。

    10.type**** emailtelurl时

    1. <input type="email">
    2. <input type="tel">
    3. <input type="url">

    解释:email 为电子邮件格式、tel 为电话格式、url 为网址格式。额外属性和 text 一致。但对于这几种类型,浏览器支持是不同的。email 支持比较好,现在浏览器都支持格式验证;tel 基本不支持;url 支持一般,部分浏览器只要检测到

    11.type**** hidden时

    解释:生成一个隐藏控件,一般用于表单提交时关联主键 ID 提交,而这个数据作为隐藏存在。

    12.type**** file时

    1. <input type="file">
    属性名称 说明
    accept 指定接受的 MIME 类型
    required 表明用户必须提供一个值,否则无法通过验证