h5中的表单和存储

1.在Html5中:
        (1).表单仍然使用<form>元素作为容器,我们可以在其中设置基本的提交特性
            form的action指向一个服务器地址(接口)
       (2).当用户或开发人员提交页面时,表单仍然用于向服务端发送表单中控件的值
            注意表单项的name属性必须有值,服务器才能获取表单
       (3).所有之前的表单控件都保持不变
        (4).仍然可以使用脚本操作表单控件

2.表单新增的属性可以分成两类:

提交类:formaction,formmcthod,formtype

控制类:required,antofocus,labels

(1) form属性:

在H5之前,表单内所有的从属标签(下级标签),必须书写在form标签内部。

H5:允许标签写在任何地方,但是,需要做两步操作:(1)给form设置一个id(2)给元素设置form属性,form属性的值就是form id属性的值。

<form action="" id="testForm">
    请输入日期:<input name="date" type="text"/>
    <input type="submit" value="提交"/>
</form>
请输入密码:<input form="testForm"name="psd"type="password"/>

(2) formation

在H5之前,表单内所有的submit,只能提交到一个统一的地址,也就是指定的action,

H5可以为每一个submit设置不同的action,是通过设置formaction属性来实现的。

<form id="testForm">
    请输入日期:<input name="date" type="text"/>
    请输入密码:<input form="testForm" name="psd" type="password"/>
    <input type="submit" value="提交1"formaction="xx.api"/>
    <input type="submit" value="提交2"formaction="xx2.api"/>
</form>

(3)formmethod

<form>
    请输入日期:<input name="date" type="text"/>
    请输入密码:<input name="psd" type="password"/>
    <input type="submit" value="提交1"  formmethod="GET"/>
</form>

(4) formenctype 编码方式

<form>
    请输入日期:<input name="date" type="text"/>
    请输入密码:<input name="psd" type="password"/>
    <input type="submit" value="提交1"  formenctype="text/plain"/>
</form>

(5) autofocus

为输入框或者按钮添加autofocus属性,当页面打开时,该元素自动获取光标焦点。

注意:如果对多个元素设置了autofocus,则只对第一个设置了autofocus的元素生效。

<form>
    请输入日期:<input name="date" type="text"/>
    请输入密码:<input name="psd" type="password" />
    <input type="submit" value="提交1"formtarget="_blank" autofocus/>
</form>

(6)required

如果在输入框设置了该属性,在输入框没有输入内容的时候,点击提交按钮,会提示“请填写此字段。”

<form>
    请输入日期:<input name="date" type="text" required/>
    请输入密码:<input name="psd" type="password" />
    <input type="submit" value="提交1" formtarget="_blank" autofocus/>
</form>

(7)labels

labels它的属性值是一个notelist

<form action="" id="testForm">
    <div>
        <label for="data">请输入日期:</label><input id="data" type="text"/><br>
    </div>
    <div>
        <label for="psd">请输入密码:</label> <inputform="testForm"id="psd"type="password"/>
        <label for="psd"></label>
    </div>
    <input type="button" οnclick="valiDate()" value="提交"/>
</form>
</body>
<script>
    function valiDate(){
        var psd = document.getElementById("psd");
        psd.labels[1].innerHTML = "密码";
        psd.labels[1].setAttribute("style","font-size:9px;color:yellow")
    }
</script>

3.表单新增的type属性

type:number          :  只能包含数字的输入框
          type:color                     :  颜色选择器
          type:datetime             :  显示完整日期(移动端浏览器支持)
          type:datetime-local  :  显示完整日期,不含时区
          type:time            :  显示时间,不含时区
          type:date            :  显示日期

type:tel                  :电话     pattern : 正则验证 
          type:week            :  显示周
          type:month           :  显示月

这里我个人认为这些新增的属性都没有什么用,第一他们的样式都不好看,我们都可以用js来把这些样式还原,甚至写的跟好看,所以我们只要记住这些东西和知道怎么用就行了,没有必要去深究。

4.接下来我们来讲存储

说到存储:wed项目中的存储有哪些:

服务器存储

数据库存储:存储的是项目的核心技术

session存储  :存储当前用户的信息

客户端存储    :cookie存储,大小限制在4kb

IndexedDB技术:索引数据库 (IndexedDB) API(作为 HTML5 的一部分)对创建具有丰富本地存储数据的数据密集型的离线 HTML5 Web 应用程序很有用。同时它还有助于本地缓存数据,使传统在线 Web 应用程序(比如移动 Web 应用程序)能够更快地运行和响应。

h5中的存储:(两种)

localStorage(本地存储)e 方法存储的数据没有时间限制。第二天、第二周或下一年之后,数据依然可用。

存储方式:

以键值对(Key-Value)的方式存储,永久存储,永不失效,除非手动删除。

HTML5新方法,不过IE8及以上浏览器都兼容。

生命周期:持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

存储的信息在同一域中是共享的。

当本页操作(新增、修改、删除)了localStorage的时候,本页面不会触发storage事件,但是别的页面会触发storage事件。

大小:据说是5M(跟浏览器厂商有关系)

在非IE下的浏览中可以本地打开。IE浏览器要在服务器中打开。

localStorage本质上是对字符串的读取,如果存储内容多的话会消耗内存空间,会导致页面变卡

localStorage受同源策略的限制

常用的API:

getItem //取记录

setIten//设置记录

removeItem//移除记录

key//取key所对应的值

clear//清除记录

sessionStorage(回话存储)

HTML5 的本地存储 API 中的 localStorage 与 sessionStorage 在使用方法上是相同的,区别在于 sessionStorage 在关闭页面后即被清空,而 localStorage 则会一直保存。

这两个的API是一样的,用法也是一样的

原文地址:https://www.cnblogs.com/zhangli123/p/12111789.html

时间: 2024-10-22 12:28:00

h5中的表单和存储的相关文章

angularjs中的表单验证

angular对html原生的form做了封装,增加了很多验证功能 1.代码结构 <form name="signup_form" novalidate ng-submit="signupForm()"> <div> <label>用户名</label> <input type="text" placeholder="Name" name="name"

html5中form表单新增属性以及改良的input标签元素的种类

在HTML5中,表单新增了一些属性,input标签也有了更多的type类型,有些实现了js才能实现的特效,但目前有些浏览器不能全部支持.下面是一些h5在表单和input标签上的一些改动. <!DOCTYPE html><html> <head> <title>表单测试</title> <meta charset="utf-8" /> <!-- 在不支持h5的浏览器中,可以用CSS样式进行改写 --> &

MVC中Form表单的提交

Form表单是数据提交的一种,在MVC中Form表单提交到服务器中地址,接受Form表单的方式有一下几种: 1.采用实体Model类型提交,Form表单中的Input标签name要和Model对应的属性保持一致,接受Form表单的服务器端就可以直接以实体的方式存储,使用方式如下: Form表单: <form action="/Employee/SaveEmployee" method="post"> <table> <tr> &l

Html中的表单

 在讲解今天Html表单之前,还是先看张图片来刺激一下. 源码 <span style="font-size:18px;"><html> <head> <title>超链接演示</title> <!--网页标题--> <body> <h1 align="center">仿百度搜索框</h1> <form action="01.php&quo

Struts2中防止表单重复提交

一.防止表单的重复提交 1.在表单中加入<s:token/>标签 2.在动作类中加入token的拦截器<interceptor-ref name="defaultStack"></interceptor-ref> <interceptor-ref name="token"></interceptor-ref> 3.增加一个名称为invalid.token的结果视图<result name="

Bootstrap历练实例:导航中的表单

Bootstrap历练实例:导航中的表单,它是使用class.navbar-form类,这确保了表单适当的垂直对齐和在较窄的视口中折叠的行为,使用这个对齐方式选项来决定导航栏中的内容放置在哪里. 实例: <!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>

在Action中获取表单提交数据

-----------------siwuxie095 在 Action 中获取表单提交数据 1.之前的 Web 阶段是提交表单到 Servlet,在其中使用 Request 对象 的方法获取数据 2.Struts2 是提交表单到 Action,但 Action 没有 Request 对象,不能 直接使用 Request 对象获取数据 「可以间接使用 Request 对象获取数据」 3.Action 获取表单提交数据主要有三种方式: (1)使用 ActionContext 类 (2)使用 Ser

extjs中form表单提交成功、失败的响应信息

类Ext.form.Action.Submit 处理表单Form数据和返回的response对象的类. 该类的实例仅在表单Form{@link Ext.form.BasicForm#submit 提交}的时候创建. 返回的数据包必须包含一个 boolean 类型的success属性,还有可选地,一个含有无效字段的错误信息的属性 A response packet may contain: ·        success property : Boolean - required. ·     

YII中的表单挂件

利用助手(widget)在页面实现表单 控制器中 <?php class YiiFormController extends Controller { public function actionIndex() { $bbsInfoModel = new BbsInfo();//实例化当前要添加数据库中表的模型 //这个array的参数值是让页面中的表单用的 $this->render("index",array("bbsInfoModel"=>$