微信小程序的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; }