
首先先说一个html5中表单新增的一个功能,在我们之前的html中,表单元素必须放在form元素所包含的里面,在html5中,可以把他们写在页面上的任何一个地方,然后给该元素增加一个form属性,form属性的值为form表单的id,如下:
[html] view plain copy
<form method="get" id="test">
<input type="text" name="name"/>
<input type="password" name="password"/>
<input type="submit" value="提交">
</form>
<input type="text" name="confirm" form="test">
在form元素里面的表单元素可以不用添加form属性,如果你想利用form获取所有表单元素的值,那么在form元素外面的表单元素就必须添加form属性,input、select、textarea等元素都满足该功能。
接下来开始介绍html5新增的表单元素,所有例子均用谷歌浏览器展示。
新增表单元素
email:提交表单的时候验证输入值是否满足email的格式
<input type="email" name="email"/>
url:提交表单的时候验证输入值是否满足url的格式
<input type="url" name="url"/>
number:根据你的设置提供选择数字的功能,其中min为最小值,max为最大值,value为默认值,step为点击箭头时数字的变化量,max、min、step、value均可不写,目前某些浏览器还不支持。
<input type="number" name="number" min=2 max=100 step=5 value="15"/>
range:会以一个滑块的形式表现包含一定范围内数字值的输入域,max为最大值,min为最小值,value为默认值,如果没有设置max和min,默认值是1-100
<input type="range" name="range" min=20 max=200 value="60"/>
日期和时间类型:
date:选取日、月、年
<input type="date" name="date"/>
month:选取月、年
<input type="month" name="month"/>
week:选取周、年
<input type="week" name="week"/>
time:选取小时、分钟
<input type="time" name="time"/>
datetime:选取时间、日、月、年(UTC时间)(我这里浏览器显示不出效果)
<input type="datetime" name="datetime"/>
datetime-local:选取时间、日、月、年(本地时间)
<input type="datetime-local" name="datetime-local"/>
search:用于搜索域,若加上result="s"属性,则会在搜索框前面加一个搜索图标(我这里浏览器显示不出效果)
<input type="search" name="search" result="s"/>
tel:验证输入的是否是电话号码的格式(我这里浏览器显示不出效果)
<input type="tel" name="tel" />
color:color类型会提供颜色拾取器,供用户选择颜色,并将用户选择的颜色填充到此元素中
<input type="color" name="color"/>
新增input属性(部分容易理解的就不进行代码演示了),后面为支持该属性的元素
autofocus:在打开页面时使元素自动获取焦点 //input,button,select,textarea
placeholder: 在用户输入时进行提示 // input,textarea
form:这篇文章的开头就有这个属性,它用于表明元素属于哪个表单,无论元素的位置在哪里,所属表单都能获取该元素的值 //input,output,button,select,textarea,fieldset
required:表明该元素是必填项,当提交表单的时候会自动验证该元素的内容是否不为空 //input,textarea
max/min/step:限制值的输入范围,以及值的变化程度。上面的新增number元素有介绍。 //input
autocomplete:使form元素或者input元素拥有自动完成功能,既记录用户之前输入的值,关闭为off,默认为on。 //form,input
表单重写属性: //input
formaction:重写表单的action属性
formenctype:重写表单的enctype属性。
enctype属性管理的是表单的MIME编码,MIME就是一种电子邮件传输的互联网标准,表明传递的信息类型和编码,共有三个值可选:
1,application/x->
2,multipart/form-data,指定传输数据的特殊类型,主要就是上传的非文本内容,比如文件、。
3,text/plain,纯文本传输。
formmethod: 重写表单的method属性
formnovalidate:重写表单的novalidate属性
formtarget:重写表单的target属性。
比如:
[html] view plain copy
<form action="testhtml" method="get" autocomplete="on">
姓名: <input type="text" name="name" /><br />
密码: <input type="password" name="pwd" /><br />
<input type="submit" formnovalidate="true" value="提交未经验证"/>
</form>
multiple:规定输入字段可选择多个值 //input,select
list:list属性的值为datalist元素的id,datalist元素类似于选择框,在文本框获得焦点的时候以提示输入的方式显示。如下:
[html] view plain copy
姓名:<input type="text" name="name" list="name"/>
<datalist id="name" >
<option value="zhangsan">张三</option>
<option value="lisi">李四</option>
<option value-"wanger">王二</option>
</datalist>
pattern:验证input输入域的格式,即正则表达式。
<input type="text" name="name" pattern="[A-z0-9]{8}"/>
<Script>
function result() {
for (var i=0;i<documentalength;i++ )
{
if (documentaelements[i]value=="")
{
var j=i+1
alert("第"+j+"个为空");
documentaelements[i]focus();
}
}
}
</Script>
<BODY >
<form name="a">
<input type=text size=3 maxlength=4 >
<input type=text size=3 maxlength=4 >
<input type=text size=3 maxlength=4 >
<input type=text size=3 maxlength=4 >
<input type=button value=提交 onClick=result()>
</form>
</BODY>
我们先看一个小例子:
html代码:
需求:是获取form表单中的用户名和密码并包装成一个对象
这个需求是我们大部分时候在发送ajax请求时需要做的一个工作。
传统JS写法:
看一下效果:
可以看到,我们已经实现了需求,但是我们写的JS代码很繁琐,我们需要先获取form表单中input框元素,然后元素的value值,最后包装成一个对象。
FormData的JS写法:
效果如下:
通过这个例子你应该能感受到FormData的便利性,只需要 new FormData(form) 一句代码就可以把form表单内的所有信息都以键值对的形式包装成一个对象返回。
FormData对象是用来将form表单数据编译成键值对,这么做有两个好处:
FormData的常用 *** 作方法:
FormData对象可以帮我们更方便的收集表单数据并中的整理成对象,大大方便了我们发送ajax请求。
以上就是关于HTML5 新增加了哪些表单元素全部的内容,包括:HTML5 新增加了哪些表单元素、JAVASCRIPT 遍历FORM中所有元素并判断值、前端小技巧:学会用FormData对象收集表单数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)