很多人使用過form和button的多層嵌套來實(shí)現(xiàn)點(diǎn)擊一次獲取多個(gè)formId的目的,如下圖所示,點(diǎn)擊一次“提交”,可以獲取到多個(gè)formId
為萊山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及萊山網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、萊山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
但是在今年3月份,這個(gè)投機(jī)取巧的方法(算是微信的一個(gè)bug)已經(jīng)被微信修復(fù),那么再使用這個(gè)方法,所拿到的formId都是相同的了,也就不符合我們的需求了
接下來給大家介紹另一種方法:
將form和button封裝成組件模擬form submit,并把這個(gè)組件做成layout級(jí),這樣可以把整個(gè)頁面包括在layout里面,利用事件自動(dòng)冒泡的特性,只要點(diǎn)擊了頁面任一位置,就能獲取到formId
1. 新建一個(gè)組件layout,wxml、wxss、js、json代碼分別如下
.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. 在頁面中使用
...
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。