Framework7 可以很方便存储和解析表单的数据,特别是在 Ajax 加载的页面。并且,当你再次加载相同的页面之后,Framework7 可以自动帮你填充上次的内容!
启用表单自动存储
要启用表单自动存储功能,只需要:
- 在表单上增加一个 "store-data" class
- 在表单上增加一个 id 属性。如果没有 id, 无法正常工作的。
- 确保你的input都有 "name" 属性,没有name属性的input将会被忽略
不需要任何JS代码就可以实现表单自动存储
- <!-- Form has additional "store-data" class to enable form storage on this form -->
- <form id="my-form" class="list-block store-data">
- <ul>
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-title label">Name</div>
- <div class="item-input">
- <!-- Make sure that input have "name attrobute" -->
- <input type="text" name="name" placeholder="Your name">
- </div>
- </div>
- </div>
- </li>
- <li>
- <div class="item-content">
- <div class="item-inner">
- <div class="item-title label">E-mail</div>
- <div class="item-input">
- <!-- Make sure that input have "name attrobute" -->
- <input type="email" name="email" placeholder="E-mail">
- </div>
- </div>
- </div>
- </li>
- ... other form fields ...
- </ul>
- </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对象
- <form id="my-form2" class="list-block store-data">
- ... form fields ...
- </form>
- <div class="content-block">
- <p><a href="#" class="button get-storage-data">Get Data</a></p>
- <p><a href="#" class="button delete-storage-data">Delete Data</a></p>
- <p><a href="#" class="button save-storage-data">Save Data</a></p>
- </div>
复制
- var myApp = new Framework7();
- var $$ = Dom7;
- $$('.get-storage-data').on('click', function() {
- var storedData = myApp.formGetData('my-form2');
- if(storedData) {
- alert(JSON.stringify(storedData));
- }
- else {
- alert('There is no stored data for this form yet. Try to change any field')
- }
- });
- $$('.delete-storage-data').on('click', function() {
- var storedData = myApp.formDeleteData('my-form2');
- alert('Form data deleted')
- });
- $$('.save-storage-data').on('click', function() {
- var storedData = myApp.formStoreData('my-form2', {
- 'name': 'John',
- 'email': 'john@doe.com',
- 'gender': 'female',
- 'switch': ['yes'],
- 'slider': 10
- });
- alert('Form data replaced, refresh browser to see changes')
- });
复制
Form storage JavaScript Events
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 |
相关推荐
资源名称:iOS开发视频教程资源目录:【】iOS开发视频教程-第01讲-iOS历史介绍【】iOS开发视频教程-第02讲-XCode安装【】iOS开发视频教程-第03讲-UIView_PPT【】iOS开发视频教程-第04讲-UILabel【】iOS开发视频教程-...
Framework7 是免费开源的 HTML 移动端框架,用来开发混合移动端应用或者 iOS 7 的 Web 应用,并且带有 iOS 7 的原生外观和感觉。Framework7 也是独立的原型应用工具。Framework7 使用 Javascript,CSS 和 HTML 来...
Appium 是一个流行的开源自动化测试框架,用于移动应用测试,支持iOS和Android平台。在iOS自动化测试领域,Appium 提供了对真实设备和模拟器的控制能力,使得开发者和测试工程师可以编写跨平台的自动化测试脚本。...
Framework7是一款免费、开源的移动应用框架,旨在为开发者提供构建iOS和Android应用的全套工具。它提供了丰富的组件库,包括导航、表单、视图、滑块等,使开发者能够轻松实现原生应用的界面和交互效果。 二、Vue.js...
在本教程中,“从零开始学iOS7开发系列教程-事务管理软件开发实战”,我们将深入探索iOS应用开发,特别是针对iOS7系统。这个教程涵盖了从基础到进阶的多个方面,旨在帮助初学者掌握iOS7开发的核心技术,并通过实战...
framework7-icons, Framework7的免费iOS图标字体 Framework7图标Framework7的高级和免费ios图标字体。这种字体可以用在 Framework7插件中,但是你可以在任何地方看到它适合它,个人或者商业。 它是免费的使用和许可...
Objective-C是苹果公司开发的一种面向对象的编程语言,广泛应用于MacOS和iOS平台的软件开发。Cocoa是Apple为这两种操作系统提供的原生开发框架,包含了大量用于构建图形用户界面、处理事件、管理文件系统等任务的...
iPhone开发入门到精通视频教程资源目录:【】iOS开发源码系列---工具【】iOS开发源码系列---应用【】iOS开发源码系列---游戏【】iOS开发源码系列---类库与框架【】iOS开发真机测试与发布【】iOS开发视频教程01~05...
IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发框架、开发步骤、开发重点技术详细讲解.zip IOS开发...
LMForm是一款专为iOS开发设计的表单配置框架,它极大地简化了在iOS应用中创建和管理各种表单的过程。这个框架的核心理念是通过代码配置而非手动布局来构建表单,提高了开发效率并降低了出错的可能性。下面我们将深入...
提供的【应用】★★★★-iOS framework 制作教程【非静态包】源码示例,应该包含了完整的框架创建过程和相关代码,你可以通过阅读和运行这个项目来加深理解。在实践中,你可以尝试修改源代码,添加新的功能,或者...
### UI第一章:无限互联iOS开发教程课件 -- iPhone开发入门 #### iOS系统概述与架构 - **iOS系统**:作为苹果公司专为iPhone、iPod touch及iPad设计的操作系统,iOS自诞生以来就以其简洁易用的特点受到全球用户的...
本压缩包文件“敏捷框架移动端开发环境安装_力软敏捷框架移动端开发环境安装_力软_力软-敏捷框架_teampa3_移动端_源码.zip”显然包含了力软敏捷框架移动端开发所需的全部资源,包括源码和环境安装指南。 1. **敏捷...
Framework7 是免费开源的 HTML 移动端框架,用来开发混合移动端应用或者 iOS 7 的 Web 应用,并且带有 iOS 7 的原生外观和感觉。Framework7 也是独立的原型应用工具。
移动端兼容安卓IOS的高仿支付密码输入功能。 类似支付宝,微信的支付密码功能。
总之,手机移动端电商在iOS和Android平台上的实现涉及多方面的技术和策略。从H5页面的构建到原生功能的集成,再到用户体验的优化,每一个环节都需要精心设计和实施。随着技术的不断发展,未来的移动端电商将更加智能...
Framework7是一款强大的、免费的HTML5移动应用框架,专为构建具有原生iOS和Android界面风格的混合式移动应用而设计。它允许开发者使用Web技术(如HTML, CSS, JavaScript)来创建高度交互且功能丰富的应用程序,同时...
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应用而设计的集合,其中包含了多个有用的工具和示例项目。 1. **CTools使用.rtf**: 这个文件可能是关于`CTools`的使用指南,`CTools`通常是指一套用于iOS开发的...
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 ...