收藏
回答

点一次submit按钮,formsubmit执行两次,咋解决呢?

formSubmit: function (e) {

this.setData({

updata:e.detail.value

})

console.log('form发生了submit事件,携带数据为:', this.data.updata)

wx.navigateBack({

delta:1      

})

},

formReset: function (options) {

console.log('form发生了reset事件')

wx.navigateBack({

delta: 1

})

},

调试器输出:


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

3 个回答

  • var 友原
    var 友原
    2019-08-23

    这个好像我之前也有遇到过,我是通过状态将它锁住的

    2019-08-23
    有用
    回复 1
    • 豆
      2019-08-23
      我找到原因了,是在form里写了bindsubmit="formSubmit",又在button里写了bindtap="formSubmit", 所以执行了两次。
      2019-08-23
      回复
  • 是小白啊
    是小白啊
    2019-08-23

    麻烦提供能复现问题的代码片段https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html

    2019-08-23
    有用
    回复 1
    • 豆
      2019-08-23

      谢谢啊,


      <form bindsubmit="formSubmit" bindreset="formReset">


      <view class="weui-cell ">

      <view class="weui-cell__hd">

      <view class="weui-label">设备名称</view>

      </view>

      <view class="weui-cell__bd">

      <input name="{{string['name']}}" class="weui-input" placeholder="请输入" />

      </view>

      </view>




      <view class="weui-cells__title">以下节点是否投用</view>

      <view class="weui-cells weui-cells_after-title">

      <checkbox-group name="{{string['use']}}" bindchange="checkboxChange">

      <label class="checkbox" wx:for="{{items}}" wx:key="{{item.name}}">

      <checkbox value="{{item.name}}" checked="{{item.checked}}" />{{item.value}}

      </label>

      </checkbox-group>

      </view>


      <view class="weui-cells weui-cells_after-title">

      <view class="weui-cell weui-cell_switch">

      <view class="weui-cell__bd">是否完成</view>

      <view class="weui-cell__ft">

      <switch checked="{{false}}" name="{{string['done']}}" />

      </view>

      </view>

      </view>



      <view class="weui-cells__title">情况描述</view>

      <view class="weui-cells weui-cells_after-title">

      <view class="weui-cell ">

      <view class="weui-cell__bd">

      <input  name="{{string['desc']}}" class="weui-input" placeholder="情况描述"> </input>

      </view>

      </view>

      </view>



      <view class="weui-cell ">

      <view class="weui-cell__hd">

      <view class="weui-label">完成日期</view>

      </view>

      <view class="weui-cell__bd">

      <picker name="{{string['due']}}"  mode="date" value="{{date}}" start="2019-06-01" end="2020-09-01" bindchange="bindDateChange">

      <view class="weui-input">{{date}}</view>

      </picker>

      </view>

      </view>


      <view class="btn-area">

      <button type="primary" formType="submit" bindtap="formSubmit">Submit</button>

      <button type="default" formType="reset" bindtap="formReset">Reset</button>

      </view>

      </form>

      我找到原因了,是在form里写了bindsubmit="formSubmit",又在button里写了bindtap="formSubmit",

      所以执行了两次。对form用法不熟练,大家了解一下,避免犯错。


      2019-08-23
      回复
  • 思男
    思男
    2019-08-23

    提供一下可复现的代码片段

    2019-08-23
    有用
    回复 2
    • 豆
      2019-08-23

      刚代码不全,补充了,代码片段怎么弄?情况就是一个form,提交按钮点一次,会执行两submit,两次传的值还不一样

      2019-08-23
      回复
    • 豆
      2019-08-23
      谢谢,解决了,是在form里写了bindsubmit="formSubmit",又在button里写了bindtap="formSubmit", 所以执行了两次。
      2019-08-23
      回复
登录 后发表内容
问题标签