页面的<form/>
组件,属性report-submit
为true
时,可以声明为需发模板消息,此时点击按钮提交表单可以获取formId
,用于发送模板消息。或者当用户完成支付行为,可以获取prepay_id
用于发送模板消息。
微信小程序文档是只有form提交的时候才会有formId,这样用户的formId可能数量比较少,以至于不能实现发送很多很多微信模板消息。所以这里要用别的方式来实现获取formId。另外获取的formId可以保存到数据库里,可以供七天内使用,这样不至于用户必须提交了form后再发送模板消息,可以随时用数据中保存的formId根据自己设定的激发条件来发送微信模板消息。
多说无益,直接上代码,看一眼就懂。
<navigator class="order-con" url="/pages/i****x/w*****w/w****w"> <view class="orders"> <button class='login-user' form-type='submit' data-name='buttonName'> <image class="orders-image" src="../../image/s_dzl13.png"></image> <text class="orders-text">当单击这里适合发起了formId,也跳转了页面</text> </button> </view> </navigator>
下面是js文件
formSubmit: function (e) { var that = this var formId = e.detail.formId; var content = e.detail.target.dataset.name//记录用户的操作 console.log('form发生了submit事件,推送码为:', formId) console.log('button点击事件来自:', content) that.submintFromId(formId, content) },
//提交formId,让服务器保存到数据库里 submintFromId: function (formId, content) { var that = this wx.request({ url: app.globalData.requestUrl + 't后台地址.aspx', data: { requestType: "insert", formId: formId, content: content, },
success: function (response) { }