收藏
回答

小程序form表单获取不到formId

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug form 客户端 6.7.0 2.2.4

我的form表单是这样写的

<form bindsubmit="submitInfo" report-submit='true' >
     <button class='start_button' bindtap='start' form-type="submit">立即开始</button>
</form>


//formId传给服务端
  submitInfo: function(e){

    console.log("formId",e.detail.formId);

 }


我的问题是,这个formId有的时候能获取到,有的时候会报一个错误(手机端测试)


IOS报错:

OnWebviewEvent: submitInfo, WebviewId: 43 not found


安卓报错:

OnWebviewEvent: submitInfo,WebviewId: 105905897 not found


就获取不到formId了


有的时候在开发版上不打开调试也获取不到formId


时好时坏,摸不着规律。求解!



-------------------------------------------   结贴   --------------------------------------------------



问题已解决:


我的bindtap="start"里绑定了页面跳转的逻辑,而且是redirectTo跳转,跳转后页面被销毁。

所以在某些情况下,formId还没有获取到的时候,页面已经跳转并销毁了。这样就会出现上面的报错。


解决办法:


把start的逻辑放到submitInfo里,当formId传递到服务器后,再执行页面跳转。

最后一次编辑于  2018-08-29
回答关注问题邀请回答
收藏

4 个回答

  • 2018-08-31
    <form bindsubmit="submitInfo" report-submit>
         <button class='start_button' bindtap='start' form-type="submit">立即开始</button>
    </form>


    2018-08-31
    有用
    回复 2
    • 2018-08-31

      report-submit="{{true}}"

      2018-08-31
      回复
    • 无穷369
      无穷369
      2018-08-31回复

      report-submit没有问题,是bindtap里的redirectTo页面跳转导致的

      2018-08-31
      回复
  • McWhy
    McWhy
    2018-08-29

    删除bindtap='start'试试 

    2018-08-29
    有用
    回复 1
    • 无穷369
      无穷369
      2018-08-29

      不像是这个原因

      2018-08-29
      回复
  • 疯狂的小辣椒
    疯狂的小辣椒
    2018-08-29

    你好,请提供一下出现问题的机型和微信版本,以及能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

    2018-08-29
    有用
    回复 5
  • 陈
    2018-08-29

    这个formid是手机上才能获取的吧

    2018-08-29
    有用
    回复 3
    • 无穷369
      无穷369
      2018-08-29

      是,只有在手机端才可以获取。

      2018-08-29
      回复
    • 陈
      2018-08-29回复无穷369

      所以是不是手机的问题,你一直都是用一台机型去测试的吗

      2018-08-29
      回复
    • 无穷369
      无穷369
      2018-08-29回复

      用其他的手机也是有的时候就可以获取到,有的时候获取不到,没找到规律。

      2018-08-29
      回复
登录 后发表内容