学习HTML5之表单

HTML5 的标准已经定了,应该火了,或者已经火了。那么是不是可以学习一下呢?

目前h5的主场还是在手机端,pc还是受困于浏览器的兼容,主要是IE在拖后腿。所以这里侧重的是手机里面的表现。

先来看看表单。h5里面增加了一些新的标签和属性,解决了我们以前比较头疼或者繁琐的功能。

先看看input里面的type属性,新增了一些属性,比如email、number、date、range等,那么他们的表现到底如何呢?我们来罗列一下。

 <form >
        <input type="checkbox" name="c1" value="11"/> <input type="checkbox" name="c1" value="12"/>多选 <br/><br/>
        <input type="radio" name="r1"  value="21"/> <input type="radio" name="r1"  value="22"/> 单选<br/><br/>
        <input id="color" type="color"/> 颜色:<span id="spanColor"></span><br/><br/>
        <input id="month" type="month"/> 月份:<span id="spanMonth"></span><br/><br/>
        <input id="week" type="week"/> 周:<span id="spanWeek"></span><br/><br/>
        <input id="date" type="date"/> 日期:<span id="spanDate"></span><br/><br/>
        <input id="" type="datetime"/> 日期和时间 (UTC 时间)(这个没有效果)<br/><br/>
        <input id="datetime" type="datetime-local"/> 日期和时间 (本地时间):<span id="spanDatetime"></span><br/><br/>
        <input id="time" type="time"/> 时间:<span id="spanTime"></span><br/><br/>

        <input id="email" type="email"/> email (提交表单的时候会自动进行简单的验证)<br/> <span id="spanEmail"></span><br/>
        <input id="file" type="file"/> 文件 (应该可以上传手机里的图片,没测试)<br/> <span id="spanFile"></span><br/>
        <input id="number" type="number" max="100" min="10" step="2" value="4"/> 数字 (输入法会变成数字形式)<br/> <span id="spanNumber"></span><br/>
        <input id="range1" type="range" max="100" min="10" step="10" value="1" /> 滑动块 <br/> <span id="spanRange"></span><br/>
        <input id="range2" type="range" max="100" min="10" step="1" value="1" /> 滑动块 <br/> <span id="span1"></span><br/>
        <input id="password" type="password"/> 密码(输入法会变成英文和数字形式)<br/> <span id="spanPassword"></span><br/>
        <input id="tel" type="tel"/> 电话 (数字键盘和#号)<br/> <span id="spanTel"></span><br/>
        <input id="text" type="text" placeholder="请输入。。。"/> 文本 (输入法会变成中文形式)<br/> <span id="spanText"></span><br/>
        <input id="url" type="url"/> url(输入法会变成英文形式)<br/> <span id="spanUrl"></span><br/>

        <input id="search" type="search"/> 查询 (输入法里面增加“放大镜”,点击放大镜后会提交表单)<br/> <span id="spanSearch"></span><br/>

        <input id="reset" type="reset" value=" 清 空 "/> <br/>
        <input id="submit" type="submit" value=" 提 交 "/> <br/>
        <input id="button" type="button" value=" 取 值 "/><br/>

    </form>

w3school 里面有介绍,我也是看这里的资料学习的,里面有在线演示,这个功能很强大。当然自己动手做一遍,印象可以更深刻。所以有了上面的代码。

先看看在手机浏览器里面的表现。

type="number" 这个很好很强大,在手机里,点文本框后,输入法会自动变成数字形式,这个就大大方便输入,不需要用户再次修改输入法的状态了。
type="week" "date" 等,在手机里面也有很漂亮和方便的选择方式。
type="range" 是滑动块。目前没想到很合适的应用场景。

type="url" 输入法会自动切换成英文输入状态。
type="email" 在提交表单的时候会做自动的检测,只是检测标准比较简单,要有 @,前后要有字符。然后就符合条件了。这个嘛,嗯嗯。
type="color" 这个可以选择颜色,什么地方可以应用到呢?值是 #123456的形式。
type="datetime" 这个说是 UTC 时间,但是在chrome和手机里面都没要任何效果,和普通的文本框一样。type="datetime-local" 才有效果。

还有新增了一些属性,这个下次在说。

在说一下事件。选择性的input可以用onchange事件,选完了就会触发获得选择的值,onclick的话,是先触发事件,然后才会去change。
type="range" 可以用 onmousemove 事件,移动一下就会把值取出来。只是不知道是不是应该这么用,一开始还好用,可以刷了几次之后居然给玩死了。
 datalist 元素: <input type="url" list="url_list" name="link" />
        <datalist id="url_list">
            <option label="W3School" value="http://www.jb51.net" />
            <option label="Google" value="http://www.google.com" />
            <option label="Microsoft" value="http://www.microsoft.com" />
        </datalist>
<datalist > 是啥?asp.net里面的datalist吗?看效果不是。

w3school 给出来的例子是和input配合使用,实现既可以选择又可以自己添加内容的“下拉列表框”。想想以前实现这样的功能是多么的头疼,现在两个标签就搞定了。js都不用写。只是需要浏览器支持!

在线演示效果http://demo001.naturefw.com/input.htm

我知道 w3school 里面有演示,只是那个比较分散,我的这个比较集中。另外加上了客户端取值的js脚步,可以看看控件的值是啥。比如 color。在pc里面看没啥意思,在手机里面看看,可能会有惊喜哦。

手头里只有小米手机,也不知道兼容性如何。大家感兴趣的话,欢迎帮忙测试一下,谢谢了。

下面会研究一下属性,placeholder 就比较实用,不用在折腾了。
				
时间: 2024-08-29 11:21:14

学习HTML5之表单的相关文章

HTML5学习之智能表单(二)

<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> </head> <body> <form

Symfony2学习笔记之表单

对于一个Web开发者来说,处理HTML表单是一个最为普通又具挑战的任务.Symfony2集成了一个Form组件,让处理表单变的容易起来.在这一节里,我们将从基础开始创建一个复杂的表单,学习表单类库中最重要的内容. Symfony2 的Form组件是一个独立的类库,你可以在Symfony2项目之外使用它. 创建一个简单的表单:假设你要创建一个应用程序的todo列表,需要显示一些任务.因为你的用户需要编辑和创建任务,所以你需要创建一个表单.在你开始之前,首先来看通用的Task类,用来表示和存储一个单

HTML5 智能表单

1.表单新增属性  ? autofocus 属性 <input type="text" autofocus/>设置 autofocus 属性,使文本框自动获得焦点 注意:一个页面中最多只能有一个表单元素设置该属性,否则功能将失效,建议对第一个input元素设置autofocus属性. ? formaction 属性 <input type="submit" formaction="处理逻辑"><!-- 处理逻辑可为a

Bootstrap学习笔记(二) 表单

在Bootstrap学习笔记(一) 排版的基础上继续学习Bootstrap的表单,编辑器及head内代码不变. 3-1 基础表单 单中常见的元素主要包括:文本输入框.下拉选择框.单选按钮.复选按钮.文本域和按钮等. 在Bootstrap框架中,通过定制了一个类名`form-control`,也就是说,如果这几个元素使用了类名"form-control",将会实现一些设计上的定制效果. 1.宽度变成了100% 2.设置了一个浅灰色(#ccc)的边框 3.具有4px的圆角 4.设置阴影效果

Bootstrap 学习笔记 之表单(4 day)

Bootstrap学习到这里,理解了为什么它是一个框架,所谓的框架,目前看来就是它本身提供了一套完整的HTML结构和样式. 我们在使用的时候,只要按照这套规则来搭建HTML结构和加上相应的样式名后就可以了. 今天学习的是表单, Bootstrap 提供了下列类型的表单布局: 垂直表单(默认) 内联表单 水平表单 需要一提的就是表单的状态: 表单控件状态 除了 :focus 状态(即,用户点击 input 或使用 tab 键聚焦到 input 上),Bootstrap 还为禁用的输入框定义了样式,

[学习笔记]--Jfinal 表单提交附件

最近,项目里面用到了Jfinal 里面的上传附件.Jfinal 的Controller 里面提供了一个 getFile系列方法提供文件上传. 我这里呢,是文件上传和表单参数一起提交.页面类似下图: 这里form表单里面使用了 enctype="multipart/form-data" .先看看Jfinal手册的说明吧!大家看了就知道了 然后还有个问题 如果是表单提交 还不可以用ajax 提交,具体的原因呢也找到了 http://www.oschina.net/question/9410

HTML5的表单新特性(2)

HTML5 表单新特性:等待了12年之久,我们迎来了HTML5主要修订版本.虽然此版本仍处于测试阶段并且没有宣布正式推出的日期,HTML5的网页设计师和程序员已经就开始关注,并对最新功能展开了热烈讨论. HTML5新特性的目的是改善嵌入,比如视频和音频等多媒体的支持,为开发者和终端用户供简单的编程和更好的用户体验.现在互联网世界都在等待,浏览器更新时能支持HTML5的新版本.HTML5已经被很多浏览器支持,比如Safari, Chrome, FireFox, Opera, IE9,它是向后兼容的

HTML5的表单新特性(3)

虽然目前各种浏览器对HTML5的支持程度参差不齐,但是不可否认HTML5将会成为未来的流行趋势. 一.HTML5表单新增属性 (1)placeholder 这个属性的用处是颇大的,可以向用户显示描述性说明或者提示信息.如果浏览器不支持的话,此属性 会忽略掉,显示浏览器默认的状态.当输入框中有值或者获得焦点的时候,不显示placeholder的值 eg:  您的名字: <input type="text" placeholder="请输入您的真实姓名" name

精美的HTML5/CSS3表单 带小图标

今天我们要来分享一款非常精美的HTML5/CSS3表单,准备地说,这是一款经过美化的input输入表单,每一个输入表单都可以定义其两侧的小图标,非常华丽.另外,这款表单应用还采用了3种不同的风格主题,你可以在演示页的菜单栏中选择一种样式.需要高版本的浏览器才能支持. 你也可以在这里在线演示 下面我们来简单分析一下这款表单的源代码,源代码由HTML代码.CSS代码及Javascript代码组成.一共3组样式,我们只对其中一组作解说. HTML代码: <ul data-for="prefix&