前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序-获取多个formId

小程序-获取多个formId

作者头像
前端黑板报
发布2018-08-15 18:04:45
2.3K1
发布2018-08-15 18:04:45
举报
文章被收录于专栏:前端黑板报前端黑板报

破土称金 投稿

首先,为啥要获取多个formId,我就不解释了,大家都是明白人。

其次,第一次发简书,有什么潜规则啥的,没有遵守,不要介意,嘿嘿。

然后,这篇文章是我的原创。。。

重点,在这里,我讲一下遇到问题,和解决问题的过程。

需求:如题,其实是有业务需求的,这里不写太清楚,做到这一块的同学,自然懂

代码语言:javascript
复制
<form bindsubmit="formSubmit" report-submit="{{true}}">
      <button formType="submit" class='btn'>
            登录
      </button>
</form>

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

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

代码语言:javascript
复制
<form bindsubmit="formSubmit" report-submit="{{true}}">
      <button formType="submit" class='btn'>
            <view class='aa'>
            </view>
      </button>
</form>

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

代码语言:javascript
复制
.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,用手机调试模式可以看到

代码语言:javascript
复制
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)
}

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

然后,骚操作来了。。。

代码语言:javascript
复制
<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 那么就要更多的复制和粘贴,如果哪位老铁,写了个简化写法记得告诉我,我暂时还没有想到好的办法。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-08-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 前端黑板报 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档