页面的 <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) { }