zoukankan      html  css  js  c++  java
  • [技术博客] 微信小程序的formid获取

    微信小程序的formid获取

    formId的触发

    微信小程序可以通过收集用户的formid,获取formid给用户主动推送微信消息。获取formid有两个途径,一个是触发一次表单提交,或者触发一次支付行为。如果要给用户主动推送模板消息,就需要拿到足够多的formid。

    用表单的方法一定需要绑定bindsubmit,button的form-type设置为submit,在js代码中可以通过e.detail.formId 获取formId。

    实例:

    <form bindsubmit="submit" report-submit='true' class='formid'>
    <button form-type="submit"></button>
    </form>
    
    submit: function (e) {
      console.log(e.detail.formId);
    }
    

    获取formid的tips

    如果没有点击事件,可以把button设置为透明的,在每一处点击都可以收集formId

    如果想同时触发formid和点击事件,可以采用如下方法:

    1、在点击事件的外层套上form和button,但是需要修改button的默认样式,相当于在外面套一层透明的蒙版。

    2、直接用button绑定点击事件,把要触发的函数写入。

    3、在点击事件内嵌套form和button,也需要修改button的默认样式。

    去除button默认样式

    这是button的默认样式:

    button {
      position:relative;
      display:block;
      margin-left:auto;
      margin-right:auto;
      padding-left:14px;
      padding-right:14px;
      box-sizing:border-box;
      font-size:18px;
      text-align:center;
      text-decoration:none;
      line-height:2.55555556;
      border-radius:5px;/*可以改成0,去除圆角*/
      -webkit-tap-highlight-color:transparent;
      overflow:hidden;
      color:#000000;
      background-color:#F8F8F8;/*按钮默认背景色是灰色的,可以把值改为#fff白色*/
    }
    
    

    去除button的边框:使用::after 伪类选择器,因为button的边框样式是通过::after方式实现的,如果在button上定义边框就会出现两条边框线,所以我们可以使用::after的方式去覆盖默认值。

    button::after {
      border: none;
    }
    

    button::after{ border: none; }

  • 相关阅读:
    手写一个call、apply、bind
    setTimeout
    meta标签及Keywords
    用VSCode插件来一键填满Github的绿色格子吧-AutoCommit
    前端工具-定制ESLint 插件以及了解ESLint的运行原理
    JS基础-全方面掌握继承
    JS基础-该如何理解原型、原型链?
    前端中等算法-无重复字符的最长子串
    前端面试 js 你有多了解call,apply,bind?
    博客图片失效?使用npm工具一次下载/替换所有失效的外链图片
  • 原文地址:https://www.cnblogs.com/buaareadsun/p/11037543.html
Copyright © 2011-2022 走看看