使用“Enter”提交偏好设置表单会原生提交表单

在干净的 dv 环境中 100% 可重现。

在最新版 Chrome 上:

dv new enter-submit
http://enter-submit.localhost/session/user1/become
访问
http://enter-submit.localhost/u/user1/preferences/account
更改名称
点击回车键

页面重新加载。

对于像这样的情况,@martin / @j.jaffeux/frontend/discourse/app/controllers/preferences.js 中感觉如何:

      
    @action
    preventSubmit(event) {
       event?.preventDefault();
    }
    <form class="form-vertical" {{on "submit" this.preventSubmit}}>
       {{outlet}}
     </section>

在这个非常特殊的情况下,我们有一个实际上不是表单的表单,这有点奇怪。

2 个赞