`

移动端安卓和IOS开发框架Framework7教程-表单存储(form storage)

阅读更多

Framework7 可以很方便存储和解析表单的数据,特别是在 Ajax 加载的页面。并且,当你再次加载相同的页面之后,Framework7 可以自动帮你填充上次的内容!

启用表单自动存储

要启用表单自动存储功能,只需要:

  • 在表单上增加一个 "store-data" class
  • 在表单上增加一个 id 属性。如果没有 id, 无法正常工作的。
  • 确保你的input都有 "name" 属性,没有name属性的input将会被忽略

不需要任何JS代码就可以实现表单自动存储

  1. <!-- Form has additional "store-data" class to enable form storage on this form -->
  2. <form id="my-form" class="list-block store-data">
  3.   <ul>
  4.     <li>
  5.       <div class="item-content">
  6.         <div class="item-inner">
  7.           <div class="item-title label">Name</div>
  8.           <div class="item-input">
  9.             <!-- Make sure that input have "name attrobute" -->
  10.             <input type="text" name="name" placeholder="Your name">
  11.           </div>
  12.         </div>
  13.       </div>
  14.     </li>
  15.     <li>
  16.       <div class="item-content">
  17.         <div class="item-inner">
  18.           <div class="item-title label">E-mail</div>
  19.           <div class="item-input">
  20.             <!-- Make sure that input have "name attrobute" -->
  21.             <input type="email" name="email" placeholder="E-mail">
  22.           </div>
  23.         </div>
  24.       </div>
  25.     </li>
  26.     ... other form fields ...
  27.   </ul>
  28. </form>
复制

实例预览

JS API

这是怎么实现的?其实非常简单,Framework7 会在表单有任何改动的时候调用 formToJSON,然后在"pageInit" 事件触发时调用 formFromJSON。

所有的表单数据都存储在 localStorage 中,每一个表单都有一个自己的key,key的规则是:localStorage.f7form-[formID],其中 [formId] 就是表单的 id 属性。每一个这样的key都包含了一个表单的所有数据。

下面是一些管理表单数据的可用的方法

myApp.formGetData(formId) - 获取id对应的表单的数据

  • formId - 字符串 - form 的id
  • 返回一个JSON数据

myApp.formDeleteData(formId) - 删除id对应的表单数据

  • formId - 字符串 - form 对应的id

myApp.formStoreData(formId, formJSON) - store formJSON data for form with formId "id" attribute

myApp.formStoreData(formId, formJSON) - 把一个JSON数据存储到一个表单对应的localStorage中

  • formId - 字符串 - 表单的id属性
  • formJSON - 对象 - 要存储的JSON对象
  1. <form id="my-form2" class="list-block store-data">
  2.   ... form fields ...
  3. </form>
  4. <div class="content-block">
  5.   <p><a href="#" class="button get-storage-data">Get Data</a></p>
  6.   <p><a href="#" class="button delete-storage-data">Delete Data</a></p>
  7.   <p><a href="#" class="button save-storage-data">Save Data</a></p>
  8. </div>
复制
  1. var myApp = new Framework7();  
  2.  
  3. var $$ = Dom7;
  4.  
  5. $$('.get-storage-data').on('click', function() {
  6.   var storedData = myApp.formGetData('my-form2');
  7.   if(storedData) {
  8.     alert(JSON.stringify(storedData));
  9.   }
  10.   else {
  11.     alert('There is no stored data for this form yet. Try to change any field')
  12.   }
  13. });
  14.  
  15. $$('.delete-storage-data').on('click', function() {
  16.   var storedData = myApp.formDeleteData('my-form2');
  17.   alert('Form data deleted')
  18. });
  19.  
  20. $$('.save-storage-data').on('click', function() {
  21.   var storedData = myApp.formStoreData('my-form2', {
  22.     'name': 'John',
  23.     'email': 'john@doe.com',
  24.     'gender': 'female',
  25.     'switch': ['yes'],
  26.     'slider': 10
  27.   });
  28.   alert('Form data replaced, refresh browser to see changes')
  29. });
复制

实例预览

Form storage JavaScript Events

Event Target Description
formFromJSON Form element Event will be triggered after formFromJSON method called on form to fill form fields
formToJSON Form element Event will be triggered after formToJSON method called on form to convert form fields to JSON

0
0
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    iOS开发视频教程

    资源名称:iOS开发视频教程资源目录:【】iOS开发视频教程-第01讲-iOS历史介绍【】iOS开发视频教程-第02讲-XCode安装【】iOS开发视频教程-第03讲-UIView_PPT【】iOS开发视频教程-第04讲-UILabel【】iOS开发视频教程-...

    HTML移动端框架Framework7.zip

    Framework7 是免费开源的 HTML 移动端框架,用来开发混合移动端应用或者 iOS 7 的 Web 应用,并且带有 iOS 7 的原生外观和感觉。Framework7 也是独立的原型应用工具。Framework7 使用 Javascript,CSS 和 HTML 来...

    appium-ios-device-自动化-手机自动化-移动端IOS自动化-自动化测试-ios真机驱动

    Appium 是一个流行的开源自动化测试框架,用于移动应用测试,支持iOS和Android平台。在iOS自动化测试领域,Appium 提供了对真实设备和模拟器的控制能力,使得开发者和测试工程师可以编写跨平台的自动化测试脚本。...

    Framework7Vue使用Framework7和Vue构建完整的iOS和Android应用程序

    Framework7是一款免费、开源的移动应用框架,旨在为开发者提供构建iOS和Android应用的全套工具。它提供了丰富的组件库,包括导航、表单、视图、滑块等,使开发者能够轻松实现原生应用的界面和交互效果。 二、Vue.js...

    从零开始学iOS7开发系列教程-事务管理软件开发实战

    在本教程中,“从零开始学iOS7开发系列教程-事务管理软件开发实战”,我们将深入探索iOS应用开发,特别是针对iOS7系统。这个教程涵盖了从基础到进阶的多个方面,旨在帮助初学者掌握iOS7开发的核心技术,并通过实战...

    framework7-icons, Framework7的免费iOS图标字体.zip

    framework7-icons, Framework7的免费iOS图标字体 Framework7图标Framework7的高级和免费ios图标字体。这种字体可以用在 Framework7插件中,但是你可以在任何地方看到它适合它,个人或者商业。 它是免费的使用和许可...

    PyPI 官网下载 | pyobjc-framework-Cocoa-6.0.1.tar.gz

    Objective-C是苹果公司开发的一种面向对象的编程语言,广泛应用于MacOS和iOS平台的软件开发。Cocoa是Apple为这两种操作系统提供的原生开发框架,包含了大量用于构建图形用户界面、处理事件、管理文件系统等任务的...

    iPhone开发入门到精通视频教程

    iPhone开发入门到精通视频教程资源目录:【】iOS开发源码系列---工具【】iOS开发源码系列---应用【】iOS开发源码系列---游戏【】iOS开发源码系列---类库与框架【】iOS开发真机测试与发布【】iOS开发视频教程01~05...

    IOS开发框架、开发步骤、开发重点技术详细讲解.zip

    IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发...

    ios-LMForm - iOS表单配置框架.zip

    LMForm是一款专为iOS开发设计的表单配置框架,它极大地简化了在iOS应用中创建和管理各种表单的过程。这个框架的核心理念是通过代码配置而非手动布局来构建表单,提高了开发效率并降低了出错的可能性。下面我们将深入...

    IOS应用源码Demo-iOS framework 制作教程【非静态包】-毕设学习.zip

    提供的【应用】★★★★-iOS framework 制作教程【非静态包】源码示例,应该包含了完整的框架创建过程和相关代码,你可以通过阅读和运行这个项目来加深理解。在实践中,你可以尝试修改源代码,添加新的功能,或者...

    UI第一章:无限互联iOS开发教程课件-- iPhone开发入门

    ### UI第一章:无限互联iOS开发教程课件 -- iPhone开发入门 #### iOS系统概述与架构 - **iOS系统**:作为苹果公司专为iPhone、iPod touch及iPad设计的操作系统,iOS自诞生以来就以其简洁易用的特点受到全球用户的...

    敏捷框架移动端开发环境安装_力软敏捷框架移动端开发环境安装_力软_力软-敏捷框架_teampa3_移动端_源码.zip

    本压缩包文件“敏捷框架移动端开发环境安装_力软敏捷框架移动端开发环境安装_力软_力软-敏捷框架_teampa3_移动端_源码.zip”显然包含了力软敏捷框架移动端开发所需的全部资源,包括源码和环境安装指南。 1. **敏捷...

    Framework7是一个用于构建iOS和Android应用的全功能HTML框架

    Framework7 是免费开源的 HTML 移动端框架,用来开发混合移动端应用或者 iOS 7 的 Web 应用,并且带有 iOS 7 的原生外观和感觉。Framework7 也是独立的原型应用工具。

    移动端兼容安卓IOS的高仿支付密码输入功能

    移动端兼容安卓IOS的高仿支付密码输入功能。 类似支付宝,微信的支付密码功能。

    手机移动端电商,IOS,Android

    总之,手机移动端电商在iOS和Android平台上的实现涉及多方面的技术和策略。从H5页面的构建到原生功能的集成,再到用户体验的优化,每一个环节都需要精心设计和实施。随着技术的不断发展,未来的移动端电商将更加智能...

    Framework7用于构建iOS和Android应用全功能移动HTML框架

    Framework7是一款强大的、免费的HTML5移动应用框架,专为构建具有原生iOS和Android界面风格的混合式移动应用而设计。它允许开发者使用Web技术(如HTML, CSS, JavaScript)来创建高度交互且功能丰富的应用程序,同时...

    Android代码-react-native-sqlite-storage

    react-native-sqlite-storage SQLite3 Native Plugin for React Native for both Android (Classic and Native) and iOS Inspired by fantastic work done by Chris Brody I did not want to re-invent the wheel. ...

    iOS开发框架

    本资源“iOS开发框架”显然是一个专为学习和开发iOS应用而设计的集合,其中包含了多个有用的工具和示例项目。 1. **CTools使用.rtf**: 这个文件可能是关于`CTools`的使用指南,`CTools`通常是指一套用于iOS开发的...

    WebRTC.framework iOS Debug arm64与x86-64架构

    iOS Debug环境 arm64与x86_64架构 WebRTC.framework Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64] Mach-O 64-bit dynamically linked ...

Global site tag (gtag.js) - Google Analytics