<view class="weui-uploader__file weui-uploader__img" catchtap="toPubInfo">
<form catchsubmit="submitPubInfo" report-submit="true">
<button type="primary" size="mini" formType="submit">发布</button>
</form>
</view>
catch关键字将中断捕获阶段和取消冒泡阶段
现在的问题是,点击触发了submitPubInfo方法后,会继续冒泡触发toPubInfo方法
form的官方文档里写的是只有bindsubmit属性,是不支持catchsubmit吗
你好。catch只对冒泡事件才有意义(当然对非冒泡事件也能用)。这个例子中catchsubmit不能阻止tap冒泡,因为这是两个不同的事件。你应当用catchtap来阻止tap事件冒泡。
那怎么解决呢
<form bindsubmit="formSubmit" catchtap="formSubmit" >
<form>
获取form表单id和阻止冒泡事件分开处理,这样确实可以。
<form
bindsubmit="submitPubInfo"
catchtap="noop"
report-submit="{{true}}">
<button formType="submit">发布</button>
</form>
楼主这个解决了吗
遇到了一样的问题,在form上catchtap下就好了
你说的什么意思,没太明白
```wxml
<form catchtap="noop">
<button bindtap="something"></button>
<form>
```
然后在Page里定义个比方叫noop的函数,不报错,只负责捕获就行了
这样写的话 就没法拿到formid了吧
上面的是简易代码
```wxml
<view catchtap="toPubInfo">
<form
catchsubmit="submitPubInfo"
catchtap="noop"
report-submit="{{true}}">
<button formType="submit">发布</button>
</form>
</view>
```
这样是可以拿到的
这样可以 多谢!