小程序如何获取多个formId实现详解


Posted in Javascript onSeptember 20, 2019

很多人使用过form和button的多层嵌套来实现点击一次获取多个formId的目的,如下图所示,点击一次“提交”,可以获取到多个formId

小程序如何获取多个formId实现详解

但是在今年3月份,这个投机取巧的方法(算是微信的一个bug)已经被微信修复,那么再使用这个方法,所拿到的formId都是相同的了,也就不符合我们的需求了

接下来给大家介绍另一种方法:

将form和button封装成组件模拟form submit,并把这个组件做成layout级,这样可以把整个页面包括在layout里面,利用事件自动冒泡的特性,只要点击了页面任一位置,就能获取到formId

1. 新建一个组件layout,wxml、wxss、js、json代码分别如下

<form bindsubmit="formSubmit" report-submit class="layout">
 <button formType="submit" class="button" hover-class="none">
  <view class="fixed"><slot></slot></view>
 </button>
</form>
.layout {
  display: inline-block;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
  font-size: inherit;
  text-align: left;
  text-decoration: none;
  line-height: inherit;
  -webkit-tap-highlight-color: transparent;
  color: inherit;
  width: 100%;
  position: relative;
}
.layout .button{
  display: inline-block;
  padding-left: 0;
  padding-right: 0;
  box-sizing: border-box;
  font-size: inherit;
  text-align: left;
  text-decoration: none;
  line-height: inherit;
  -webkit-tap-highlight-color: #000;
  color: inherit;
  width: 100%;
  position: relative;
}
.layout .button .fixed{
  position:relative;
  z-index: 9999;
  width: 100%;
}
.layout .button:before,.layout .button:after{
  border-width: 0;
}
Component({
 methods: {
  formSubmit: function (e) {
   let formId = e.detail.formId
   console.log(formId)
  }
 }
})
{
 "component": true
}

2. 在app.json中,将layout添加为全局组件

"usingComponents": {
  "layout": "/components/layout/index"
 }

3. 在页面中使用

<layout>
 <view class="container">
  ...
 </view>
</layout>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
解决Extjs上传图片无法预览的解决方法
Mar 22 Javascript
Jquery 自定义动画概述及示例
Mar 29 Javascript
JavaScript 模拟类机制及私有变量的方法及思路
Jul 10 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
Oct 28 Javascript
js学习之----深入理解闭包
Nov 21 Javascript
vue-dialog的弹出层组件
May 25 Javascript
Vue2.0 从零开始_环境搭建操作步骤
Jun 14 Javascript
vue树形结构获取键值的方法示例
Jun 21 Javascript
解决vue 子组件修改父组件传来的props值报错问题
Nov 09 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 Javascript
小程序实现密码输入框
Nov 16 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
Sep 20 #Javascript
使用Layui搭建后台管理界面的操作方法
Sep 20 #Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
Sep 20 #Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 #Javascript
基于layui内置模块(element常用元素的操作)
Sep 20 #Javascript
解决Layui中templet中a的onclick参数传递的问题
Sep 20 #Javascript
解决layui动态添加的元素click等事件触发不了的问题
Sep 20 #Javascript
You might like
dedecms中显示数字验证码的修改方法
2007/03/21 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
动态修改DOM 里面的 id 属性的弊端分析
2008/09/03 Javascript
img标签中onerror用法
2009/08/13 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
JQuery验证工具类搜集整理
2013/01/16 Javascript
使用Grunt.js管理你项目的应用说明
2013/04/24 Javascript
JS获取DropDownList的value值与text值的示例代码
2014/01/07 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
再谈Javascript中的基本类型和引用类型(推荐)
2016/07/01 Javascript
vue.js的安装方法
2017/05/12 Javascript
解决ng-repeat产生的ng-model中取不到值的问题
2018/10/02 Javascript
详解keep-alive + vuex 让缓存的页面灵活起来
2019/04/19 Javascript
产制造追溯系统之通过微信小程序实现移动端报表平台
2019/06/03 Javascript
深入学习TypeScript 、React、 Redux和Ant-Design的最佳实践
2019/06/17 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
深入解析Python编程中JSON模块的使用
2015/10/15 Python
Python使用爬虫猜密码
2016/02/19 Python
Python学习思维导图(必看篇)
2017/06/26 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
Python django框架应用中实现获取访问者ip地址示例
2019/05/17 Python
python 列表输出重复值以及对应的角标方法
2019/06/11 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
Django的Modelforms用法简介
2019/07/27 Python
浅谈Python中(&amp;,|)和(and,or)之间的区别
2019/08/07 Python
Python实现图片识别加翻译功能
2019/12/26 Python
Python实现新型冠状病毒传播模型及预测代码实例
2020/02/05 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
Vector, ArrayList, HashTable, HashMap哪些是线程安全的,哪些不是
2015/10/12 面试题
初入社会应届生求职信
2013/11/18 职场文书
六一领导慰问欢迎词
2015/01/26 职场文书
信用卡工资证明范本
2015/06/19 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书