知识 分享 互助 懒人建站

    懒人建站专注于网页素材下载,提供网站模板、网页设计、ps素材、图片素材等,服务于【个人站长】【网页设计师】和【web开发从业者】的代码素材与设计素材网站。

    懒人建站提供网页素材下载、网站模板
    知识 分享 互助!

    微信小程序获取多个formId的方法(解决小程序点击一次,提交多个表单问题)

    作者:bbin视讯真人娱乐平台登入 2018-06-17 人气:
    微信小程序获取多个formId的方法,解决小程序点击一次,提交多个表单问题,只要你点击登录按钮,就能提交一次表单,也能获取一次formId,但是想要实现点击一次提交多次,光靠复制这几行代码,貌似还不行,无论是缩小按钮,还是一些其他的奇葩方式,都不行。

    微信小程序获取多个formId的方法重点,讲一下遇到问题,和解决问题的过程。

    需求:微信小程序点击一次,提交多个表单,其实是有业务需求的,这里不写太清楚,做到这一块的同学,自然懂

      <form bindsubmit="formSubmit" report-submit="{{true}}">
          <button formType="submit" class='btn'>
                <view class='aa'>
                </view>
          </button>
      </form>

    如同上面的几行代码,只要你点击登录按钮,就能提交一次表单,也能获取一次formId,但是想要实现点击一次提交多次,光靠复制这几行代码,貌似还不行,无论是缩小按钮,还是一些其他的奇葩方式,都不行。

    这里要说的是一种点击穿透方式

      <form bindsubmit="formSubmit" report-submit="{{true}}">
          <button formType="submit" class='btn'>
                <view class='aa'>
                </view>
          </button>
      </form>

    我在里面写了一个view (button里面)
    给你们看一下样式(样式很重要)

          .btn{
            width: 20rpx;
            height: 20rpx;
            margin: 0;
            padding: 0;
            border-radius: 0;
            position: fixed;
            background: rgba(0,155,0,0.5);
            top: 0;
          }
          button::after{
            border:none;
          }
          .aa{
            width: 200rpx;
            height: 200rpx;
            background: rgba(0,155,0,0.5);
            position:fixed;
            top: 0;
          }

    再看一下js,顺便说一下,模拟器上看不到实际的formId,用手机调试模式可以看到

          formSubmit: function(e) {
              if (e.detail.formId != 'the formId is a mock one') {
                  this.setData({
                      formIdString: e.detail.formId + "," + this.data.formIdString
                  })
              }
              console.log(this.data.formIdString)
          },

    看到的是这样,当你点击绿色的任何区域都能点击到按钮,然后提交表单

    然后,骚操作来了。。。

      <form bindsubmit="formSubmit" report-submit="{{true}}">
          <button formType="submit" class='btn'>
                <view class='aa'>
                     <form bindsubmit="formSubmit" report-submit="{{true}}">
                           <button formType="submit" class='btn'>
                                <view class='aa'>
                                </view>
                          </button>
                     </form>
                </view>
          </button>
      </form>

    我把整个的wxml代码复制一遍 放到view里面,看起来和之前差不多,其实是叠起来了

    然而 实际操作的话,点击绿色部分,会提交两次,点击红色部分只会提交一次,这是为啥呢,先看图

    微信小程序获取多个formId的方法(解决小程序点击一次,提交多个表单问题)

    现在应该明白了吧,个人感觉图已经解释一切,如果不懂,可以发评论。

    要更多formId 那么就要更多的复制和粘贴,如果哪位老铁,写了个简化写法记得告诉我,我暂时还没有想到好的办法。

    然后,这篇文章是我的原创。。。 下次还有新鲜的想法,还会和大家交流。


    作者:破土称金
    链接:https://www.jianshu.com/p/84dd9cd6eaed


    ↓ 查看全文

    微信小程序获取多个formId的方法(解决小程序点击一次,提交多个表单问题)由懒人建站收集整理,您可以自由传播,请主动带上本文链接

    懒人建站就是免费分享,觉得有用就多来支持一下,没有能帮到您,懒人也只能表示遗憾,希望有一天能帮到您。

    微信小程序获取多个formId的方法(解决小程序点击一次,提交多个表单问题)-最新评论

    网站地图 bbin视讯平台官网登入 ag旗舰厅申博登入 ag旗舰厅直营网登入
    申博亚洲赌场 申博娱乐备用网址 申博太阳城网址 138申博亚洲
    云鼎彩票客户端下载直营网 m5彩票加拿大28 652188.com 奇奇乐棋牌官方下载登入
    ag旗舰厅官方网址登入 太阳城网址 ag旗舰厅真人娱乐登入 ag视讯官方网登入
    ag视讯网站登入 bbin视讯域名注册登入 bbin视讯官方直营网登入 ag旗舰厅注册登入
    729PT.COM XSB389.COM 657SUN.COM XSB897.COM 8TJS.COM
    162SUN.COM 358PT.COM 6666ib.com 11sbib.com 8QHDS.COM
    8ZZS.COM 305SUN.COM 588xsb.com 698DC.COM 758sunbet.com
    1112126.COM S618P.COM 988TGP.COM S618J.COM 1112125.COM