11.7.2 input

11.7.2 input

1.input元素

在HTML5中,对input元素进行了大幅度的改进,使人们可以简单地使用这些新增的元素实现需要JavaScript才能实现的功能。

1)url类型

input元素里的url类型是一种专门用来输入URL地址的文本框。如果该文本框中的内容不是URL地址格式的文字,则不允许提交。

例如:

2)E-mail类型

如果用户在该文本框中输入的不是E-mail地址,则会提醒不允许提交,但值得注意的是:它并不检查该E-mail地址是否存在。如果另外加上required属性,该文本是可以为空的。另外E-mail类型的文本框有一个multiple属性,它允许在该文本框中输入一连串以逗号分开的E-mail地址。

3)date类型

input元素里的date类型在开发网页的过程中是非常多见的,例如购买日期、发布时间、订票时间。这种date类型的时间是以日历的形式来方便用户输入的。

例如:

4)time类型

input元素里的time类型是专门用来输入时间的文本框,并且会在提交时对输入时间的有效性进行检查。它的外观会根据不同类型的浏览器出现不同的表现形式。

例如:

5)datetime-local类型

datetime-local类型是一种专门用来输入本地日期和时间的文本框,同样,它在提交的时候也会对数据进行检查。

例如:

6)month类型

顾名思义,month类型是一种专门用来输入月份的文本框,同样提交时也会对数据进行检查。

例如:

7)week类型

week类型是一种专门用来输入周号的文本框,在提交时也会对数据进行检查。

例如:

2.input属性

1)formaction属性

在HTML5中,可以给所有的提交按钮增加不同的formaction属性,单击不同的按钮,将不同的表单提交到不同的页面。

例如,页面中同时有“登录”和“注册”两个提交按钮:

2)formmethod属性

在HTML5中,可以使用formaction属性对每个表单元素分别指定不同的提交页面,同时也可以使用formmethod属性对每个表单元素分别指定不同的提交方法。

例如:

3)placeholder属性

placeholder属性用于在文本框处于未输入状态并且未获得光标焦点时,显示提示文字以指导用户的输入,当input元素获得焦点时,这些提示文本将会消失。

不要将placeholder属性和value属性弄混,它们都会让文本框默认出现一些文本,但placeholder文本会自动消失,且不会发送到服务器,而value文本在输入框获得焦点时不会消失,且这些内容会被发送到服务器。

例如:

4)autofocus属性

autofocus属性用于给文本框、选择框或按钮控件自动获得光标焦点。一般将该属性设置在表单第一个input元素上,该元素会在页面加载时默认获得焦点。让某个字段在页面加载时自动获得焦点是很有益处的,这样用户就可以立即开始输入。

例如:

5)ist属性

在HTML5中,为单行文本框增加一个list属性,该属性的值为某个datalist元素的id。datalist元素类似于选择框(select),该元素本身并不显示,而是在文本框获得焦点时以提示输入的方式显示。

例如,为图11-19所示的单行文本框增加一个list属性,代码如下:

图11-19 带list属性的单行文本框

6)auotcomplete属性

auotcomplete属性具有辅助输入所用的自动完成功能,节省输入时间,同时也十分方便。对于auotcomplete属性,可以指定“on”、“off”、“”(不指定)这3种值。

例如: