[html5] 学习笔记-表单新增元素与属性
本节讲的是表单元素的form,formaction属性,frommethod,formenctype属性,formtarget,autofocus属性,required,labels属性。
1、form属性
在html4中,表单内的从属元素必须书写在表单内部,而在html5中,可以把他们书写在页面上任何地方,然后为该元素指定一个form属性,属性值为该表单的id,这样就可以指定该元素从属于指定表单了。
以往的写法:
<body>
<form id="testform">
<input type="text"></input>
<textarea form="testform"></textarea>
</form>
</body>
现在则可以这样写,好处是为表单添加样式时会更方便:
<body>
<form id="testform">
<input type="text"></input>
</form>
<textarea form="testform"></textarea>
</body>
2、formaction属性
在html4中,一个表单内的所有元素只能通过表单的action属性被统一提交到另一个页面,而在html5中,可以为所有的提交按钮增加不同的formaction属性,使单击不同的按钮时,可以将表单提交到不同的页面。
这里xxx1.jsp/xxx2.jsp/xxx3.jsp分别是是第一/二/三个服务器的地址。
<body>
<form id="testform">
<input type="submit" value="v1" name="s1" formaction="xxx1.jsp"></input>
<input type="submit" value="v2" name="s2" formaction="xxx2.jsp"></input>
<input type="submit" value="v3" name="s3" formaction="xxx3.jsp"></input>
</form>
</body>
3、formmethod属性
在html4中,一个表单内只能有一个actoin属性来对表单内的所有元素统一提交,所以每个表单内页只有一个method属性来统一指定提交方法。在html5中,可以使用formmethod属性来对每一个表单元素分别指定不同的提交方法。
<body>
<form id="testform">
<input type="submit" value="v1" name="s1" formaction="xxx1.jsp" formmethod="post"></input>
<input type="submit" value="v2" name="s2" formaction="xxx2.jsp" formmethod="get"></input>
</form>
</body>
4、formenctype属性
在html4中,表单元素具有一个enctype属性,该属性用于指定在表单发送到服务器之前,应该如何对表单内的数据进行编码。在html5中,可以用formenctype属性,为表单的元素指定不同的编码方式。
text/plain:表单内的空格转换为加号,但不对表单内的特殊字符编码
multipart/form-data:不对文件进行编码,在使用包含控件时的表单时,必须使用该值
application/x-www-form-urlencoded:发送前编码所有字符;当表单action属性为get时,仍然用该编码方式把表单数据转换成字符
<body>
<form id="testform">
<input type="submit" formenctype="text/plain"></input>
<input type="submit" formenctype="multipart/form-data"></input>
<input type="submit" formenctype="application/x-www-form-urlencoded"></input>
</form>
5、formtarget属性
在html4中,表单元素具有一个target属性,该属性用于指定在何处打开表单提交后,所需要加载的页面。在Html5中,可以对多个提交按钮分别使用formtarget属性来分别指定。
formtarget属性一共有5种:
_blank:在新的窗口打开
_self:默认值,在相同的框架打开
_parent:在当前框架的父框架打开
_top:在整个窗口中打开
framename:在指定框架中打开
<form id="testform">
<input type="submit" formtarget="_blank" ></input>
<input type="submit" formtarget="_self" ></input>
<input type="submit" formtarget="_parent" ></input>
<input type="submit" formtarget="_top" ></input>
<input type="submit" formtarget="framename" ></input>
</form>
</body>
6、autofocus属性
为文本框、选择框或按钮控件加上autofocus属性,当画面打开时,该控件自动获得光标焦点。
<body>
<form>
<input type="text"></input>
<input type="text" autofocus></input>
</form>
</body>
7、required属性
html5中新增加的required属性可以应用在大多数输入元素上,在提交时,如果元素中的内容为空白,则不允许提交,同时在浏览器中显示信息提示文字。
<body>
<form action="xxx.jsp">
<input type="text" required="required"></input>
<button type="submit">提交</button>
</form>
</body>
8、labels属性
在html5中,为所有可使用标签的表单元素、button、select元素等,定义了一个labels属性,属性值为一个NodeList对象,代表该元素所绑定的标签元素所构成的集合。
<body>
<script type="text/javascript">
function Validate(){
var txtName = document.getElementById("txt_name");
var button =document.getElementById("btnValidate");
var form = document.getElementById("testform");
if (txtName.value.trim()=="") {
var label = document.createElement("label");
label.setAttribute("for","txt_name");
form.insertBefore(label,button);
txtName.labels[1].innerHTML="请输入姓名";
txtName.labels[1].setAttribute("style","font-size:9px;color:red");
}
}
</script>
<form id="testform">
<label id="label" for="txt_name">姓名:</label>
<input id="txt_name"></input>
<input type="button" id="btnValidate" value="验证" onclick="Validate()"></input>
</form>
</body>
[html5] 学习笔记-表单新增元素与属性的更多相关文章
- [html5] 学习笔记-表单新增的元素与属性(续)
本节主要讲解表单新增元素的controls属性.placeholder属性.List属性.Autocomplete属性.Pattern属性.SelectionDirection属性.Indetermi ...
- HTML5表单新增元素与属性
form属性 在html4中,表单的从属元素必须写在表单内部,而在HTML5中,可以把他们书写在任何地方,然后为该元素指定一个form属性,属性值为该表单的id,这样就可以声明该元素从属于指定表单了. ...
- HTML5 学习笔记 表单属性
HTML5新的表单属性 HTML5 的form和input 标签添加了几个新的属性 <form>新属性 autocomplete novalidate input 新属性 autocomp ...
- html5表单新增元素与属性2
1.标签的control属性 在html5中,可以在标签内部放置一个表单元素,并且通过该标签的control属性来访问该表单元素. <script> function setValue() ...
- HTML5 表单新增元素与属性
1 form 属性和 formaction 属性 本课时讲解在 HTML4 中,表单内的从属元素必须书写在表单内部,而在 HTML5 中,可以把他们书写在页面上任何地方,然后为该元素指定一个 form ...
- html5中form表单新增属性以及改良的input标签元素的种类
在HTML5中,表单新增了一些属性,input标签也有了更多的type类型,有些实现了js才能实现的特效,但目前有些浏览器不能全部支持.下面是一些h5在表单和input标签上的一些改动. <!D ...
- HTML学习笔记 表单元素
<form></form>代表表单 action:往什么地方提交 method:提交方式 get显示提交(不安全) post隐视提交(安全) 提交内容: name=输入的 ...
- 【html5】html5学习笔记2--表单
html5 新增输入类型 html5新增了 email.number.Date pickers (date, month, week, time, datetime, datetime-local) ...
- [html5] 学习笔记-改良的input元素种类
在html5中,大幅度增加与改良了input元素的种类,可以简单的使用这些元素来实现之前需要JS脚本来实现的功能. 1.url类型.email类型.date类型.time类型.datetime类型.d ...
随机推荐
- (简单) POJ 1321 棋盘问题,回溯。
Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...
- Extjs的架构设计思考,单页面应用 or 多页面?
写在前面:不要认为 EXTJS 高版本就是一个界面改良,在项目中,仍然用 N 张页面,在 N 张页面部署 EXTJS .这种方式不用多讲,效率问题大家都看得出来, EXTJS 是一个集成开发工具,注定 ...
- (简单) HDU 1698 Just a Hook , 线段树+区间更新。
Description: In the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of ...
- S3C2440硬件连接解析
S3c2440是三星公司推出的一款基于ARM920T的处理器,采用ARM内核,不同于单片机,无片上rom与ram,必须搭配相应的外围电路进行使用,现在,让我们从零开始进行这一块MCU的学习,为了入门简 ...
- Android.mk文件详解(转)
源:Android.mk文件详解 从对Makefile一无所知开始,折腾了一个多星期,终于对Android.mk有了一个全面些的了解.了解了标准的Makefile后,发现Android.mk其实是把真 ...
- el5,6,7的ntpdate服务
在el5里没有ntpdate服务 在el6里有ntpdate服务 在el7里有ntpdate服务
- 【转】安卓Java的虚拟机区别
Google于2007年底正式发布了Android SDK, 作为 Android系统的重要特性,Dalvik虚拟机也第一次进入了人们的视野.它对内存的高效使用,和在低速CPU上表现出的高性能,确实令 ...
- VMWare虚拟机启动报错物理内存不足
尝试了三种修改 1.说是微软补丁KB2995388冲突-->>失败 2.修改win8.1高级环境性能更改设置-->>失败 3.修改config.ini文件-->>成 ...
- vs2015编译mysql c++ connector
目前MySQL Connector/C++的binary版本最高只支持VS2008,VS2015需要下载源码自行编译. 1.CMAKE 到官网下载最新的稳定版本 把bin目录添加到环境变量PATH中 ...
- Oracle的一些命令
sqlldr: 一般用于导入以任何后缀结束的文件,我这次就是因为要导入一张以.20160101为后缀的文件,当初简直束手无策 结合input.ctl使用,可以在DOS下使用,可以对一张表导入数十万,百 ...