HTML5 表单及其他新增和改良元素(上)

1. 表单内元素的form属性

在H5中可以把form放到页面的任何地方,然后为该元素指定一个form属性,属性值为该表单的id,这样就可以声明该元素从属于指定表单了

<form id="testform">
    	<input type="text">
    </form>
    <textarea form="testform"></textarea>

2. 表单内元素的formaction属性

  1. 在H4中,表单的提交方式
<form action="1.jsp">
</form>

提交整个表单

  1. 在H5中,可以为表单的每一个属性添加提交到的jsp页面
<form action="1.jsp">
    	<input type="submit" action="1-1.jsp">提交到1页面</form>
    	<input type="submit" action="1-2.jsp">提交到2页面</form>
    	<input type="submit" action="1-3.jsp">提交到3页面</form>
    </form>

3. 表单内元素的formmethod属性

可以对表单的每一个元素指定提交方法

<form action="1.jsp">
    	<input type="submit" action="1-1.jsp" formmethod="post">提交到1页面,post提交方法</form>
    	<input type="submit" action="1-2.jsp" formmethod="get">提交到2页面,get提交方法</form>
    </form>

4. 表单内元素的formenctype属性

同上,作用与每一个元素,代码略

5. 表单的formtarget属性

同上,作用与每一个元素,代码略

6.元素的autofocus属性

为文本框、选择框和按钮控件等加上autofocus属性,画面打开时,将自动获得焦点。

<input type="text" action="1-3.jsp" autofocus>提交到3页面</form>

一个页面上只能有一个控件具有autofocus属性,不能滥用

7. required属性

可以用在大多数输入用的元素,若输入的值为空则不允许提交,游览器显示文字信息提示用户必须输入内容。

8. labels属性

可为表单所有元素添加一个lables属性,属性值为一个NodeList对象,代表该元素所绑定的标签元素所构成的集合。

<script type="text/javascript">
        window.onload = function () {
        	var text = document.getElementById(‘text‘);
            var btn = document.getElementById(‘btn‘);
            var form = document.getElementById(‘form‘);
            btn.onclick = function() {
                if (text.value.trim() =="") {
            	    //alert(text.labels.length)
            	    if(text.labels.length==1) {
            		    var label = document.createElement("label");
            		    label.setAttribute("for","text");
            		    form.insertBefore(label,btn);
            		    text.labels[1].innerHTML = "请输入姓名";
            		    text.labels[1].setAttribute(
            			"style","font-size:9px;color:red");
            	    }
                }
                else if(text.labels.length>1)
            	    form.removeChild(text.labels[1]);
                }

        }
	</script>
    <form id="form">
    	<label id="label" for="text">姓名:</label>
    	<input id="text">
    	<input id="btn" type="button" value="验证">
    </form>

当用户不输入任何值时,单击验证,文本框旁边会动态的添加一个标签元素,标签元素为“请输入姓名”;当用户在文本框中有输入时,文字为“请输入姓名”的标签将被删除。

9. 标签的control属性

可以在标签(label)内部放置一个表单元素,并通过该标签的control属性来访问该表单元素。

<script type="text/javascript">
        function setValue() {
        	console.log(1);
        	var label =document.getElementById("label");
        	var textbox = label.control;
        	textbox.value = "231456"
        }
        	</script>
        	    <form>
    	<label id="label">
    		邮编:
    		<input id="txt_zip" maxlength="6">
    		<small>请输入6位数字</small>
    	</label>
    	<input type="button" value="设置默认值" onclick="setValue()">
    </form>

在游览器中打开页面,单击“设置默认值”按键,文本框中会显示231456.

10. 文本框的placeholder属性

当文本框(text或者textarea)处于为选择状态时输入提示信息(灰色)

<input type="text" palceholder="hahah">

11. 文本框的list属性

结合h5新增的datalist元素,制作提示框

text:<input type="text" name="greeting" list="greetings">
    <!-- 使用style="display:none";将datalist元素设置为不显示 -->
    <datalist id="greetings" style="display:none">
    	<option value="你是人">你是人</option>
    	<option value="你是猪">你是猪</option>
    	<option value="你是狗">你是狗</option>
    </datalist>

当你在文本框中输入“你”时,下面会出现三栏提示“你是人”、“你是猪”、“你是狗”,没有关键字将不出现提示

12. 文本框的autocomplete属性

autocomplete有三种值"on"、"off"、""(不指定)。不进行指定时,使用游览器的默认值。使用方法如下

<input type="text" name="greeting" list="greetings" autocomplete="on">

当你在文本框内输入如“我是人”点击提交后,返回前一页,再在文本框中输入“我”,就会出线提示“我是人”。

13. 文本框的pattern属性

相当于直接在html部分用正则表达式判断值输入是否符合要求。

请输入内容:<input type="text" pattern="[0-9][A-Z]{3}">

此段代码要求输入一个数字三个大写字母,如果输入不正确,则出现“请与所要求的内容保持一致(谷歌)”的提示。

14. 文本框的selectionDirection属性

针对input的text和textarea元素,当用户在这两个元素中用鼠标选取部分文字时,可以使用该元素来获取选择方向。

<script type="text/javascript">
        function alertSelectionDirection() {
        	var control = document.forms[0][‘text‘];
        	var Direction = control.selectionDirection;
        	alert(Direction);
        }

	</script>
	<form>
    	<input type="text" name="text">
    	<input type="button" value="惦记我" onclick="alertSelectionDirection()" >
        </form>
时间: 2024-11-24 12:42:23

HTML5 表单及其他新增和改良元素(上)的相关文章

html5+css3 权威指南阅读笔记(三)---表单及其他新增和改良元素

一.新增元素及属性 1.表单内元素的form属性. html5: <form id="testForm"> <input type=text> </form> <textarea form = testForm></textarea> 2.表单内元素的formaction属性 <form id="testForm" action="test.jsp"> <input t

HTML5表单、一些新增的输入类型以及为不支持新特性的浏览器提供解决方案

我们先来看一下这么样一个表单: 一.一步一步来分析下代码: 1 <form id="redemption" method="post"> 2 <hgroup> 3 <h1>Oscar Redemption</h1> 4 <h2>Here's your chance to set the record straight: tell us what 5 year the wrong film got nomin

HTML5表单新增属性

------------------siwuxie095 HTML5 表单新增元素与属性 1.form 属性 在 HTML4 中,表单内的从属元素必须书写在表单内部,而 在 HTML5 中,可以把它们书写在页面上任何地方,然后为 该元素指定一个 form 属性,属性值为该表单的 id,这样就 可以声明该元素从属于指定表单了 2.formaction 属性 在 HTML4 中,一个表单内的所有元素只能通过表单的 action 属性被统一提交到另一个页面,而在 HTML5 中,可以为所有 的提交按钮

HTML5表单及其验证

随笔- 15 文章- 1 评论- 115 HTML5表单及其验证 HTML表单一直都是Web的核心技术之一,有了它我们才能在Web上进行各种各样的应用.HTML5 Forms新增了许多新控件及其API,方便我们做更复杂的应用,而不用借助其它Javascript框架,先说下表单的几个基本知识点: 表单仍是以<form>元素作为容器,我们可在其中设置基本的提交特性: 当用户提交页面时,表单仍然向服务器发送表单控件的值: 之前老版本中的表单控件,如text radio checkbox等等,都可以按

jQuery html5Validate基于HTML5表单验证插件

一.前言 前3篇文章实际都是为本文做铺垫的,如果以下棋表示,前三篇是普通走棋,本篇是将军! 目前市面上有不少表单验证插件,看似强大,实在糟糕! 总结下,有以下一些问题: 过多干预包括:改变了表单元素UI, 为表单元素绑定过多事件等 布局等限制包括:需要特定结构的布局,需要特定的类名或者ID 学习成本包括:N多元作者自定义的属性,或者自定义的特定的数据结构 可用性 当JS出现错误的时候而无法正常运作的时候,验证就是聋子的耳朵——摆设,即使在现代浏览器下也是如此. 面向未来的表单验证 验证驱动验证信

HTML5表单的创建及与PHP的交互

Html5表单 <!DOCTYPE html> <html> <head lang="en">     <meta charset="UTF-8">     <title></title> </head> <body> <form>     用户名:     <input type="text">     <br/>

菜鸟零基础学习HTML5 &nbsp; ----- 1.5、HTML5表单和PHP环境搭建

一.HTML5表单 1.表单用于获取不同类型的用户输入 2.常用表单标签 例: <!DOCTYPE html> <html lang="en"> <head>     <meta charset="UTF-8">     <title>表单</title> </head> <body>     <form>         用户名:         <i

服务器变量 超级全局数组$_SERVER (附加超简单表单与html5表单属性)

001.html <html> <head><title>user log</title> <meta http-equiv="content-type" content="text/html;charset:utf-8"> </head> <body> <form method="post" action="001.php"> 用

实现跨浏览器html5表单验证

div:nth-of-type(odd){ float: left; clear: left; } .origin-effect > div:nth-of-type(even){ float: right; clear: right; } .clearfix:after{ content: ""; display:block; clear: both; } .figcaption{ clear: both; color: #999; padding-top: 10px; text