# 「Enter」で設定フォームを送信すると、フォームがネイティブに送信される

**URL:** https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515
**Category:** Bug
**Created:** [2025 年 12 月 5 日午後 2:22 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515 "2025-12-05T14:22:00Z")
**Posts on this page:** 9
**Page:** 1

<div class="post-metadata">

### Author: ![manut](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manut/32/485119_2.png) [@manut](https://meta.discourse.org/u/manut)
#### Post date: [2025 年 12 月 5 日午後 2:22 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/1 "2025-12-05T14:22:00Z")

</div>

`main` discourse (`61e0db0e80`) において、ユーザー設定フォームを「enter」で送信した際（例：名前を変更した後）、フォームがネイティブに送信されます。

その結果、同じページへの GET リクエストが発生し、データベースに変更は保存されません。

再現手順：

1. 設定ページにアクセスする
2. 名前を入力/変更する
3. enter を押す
4. ページがリロードされる。

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [2025 年 12 月 5 日午後 2:59 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/2 "2025-12-05T14:59:21Z")

</div>

メタでは再現できません。試してみましたが、期待どおりに動作しました。

こちらでも確認していただけますか？

---

<div class="post-metadata">

### Author: ![manut](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manut/32/485119_2.png) [@manut](https://meta.discourse.org/u/manut)
#### Post date: [2025 年 12 月 5 日午後 3:19 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/3 "2025-12-05T15:19:11Z")

</div>

承知いたしました。以下で再現できました。

- Firefox ESR v140.5.0esr - 64 ビット（ **クリーンプロファイル** 、プラグインなし、カスタム設定なし）
- Chromium v142.0.7444.175（すべてのプラグインを無効化）

私は Debian 13 を実行しており、両方のブラウザは Debian リポジトリから取得したものです。

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [2025 年 12 月 5 日午後 4:55 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/4 "2025-12-05T16:55:23Z")

</div>

非常に奇妙ですね。私のブラウザ（Firefox 45.0.2/Chromium: 143.0.7499.40）では再現できません。

あなたが次のように言ったとき

> [@manut](#):
>
> すべてのプラグインを無効にした状態で

それはあなたがMetaでテストしていないことを示唆しています。

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [2025 年 12 月 5 日午後 5:13 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/5 "2025-12-05T17:13:40Z")

</div>

ご参考までに、Metaでも再現できました:raised\_hand:

名前を入力してから「Enter」を押すと、ページがリロードされ、値が空になります。

まだボタンを押す前にページがリロードされたため、変更が保存されなかった（できなかった）のだと推測します。

**推定所要時間（ETA）:** FirefoxとChromeの両方（デスクトップ/Windows）で発生するようです。

---

<div class="post-metadata">

### Author: ![chapoi](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/chapoi/32/537252_2.png) [@chapoi](https://meta.discourse.org/u/chapoi)
#### Post date: [2025 年 12 月 5 日午後 5:14 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/6 "2025-12-05T17:14:49Z")

</div>

了解しました、参考になります。なぜ再現できないのか不思議です 😕

---

<div class="post-metadata">

### Author: ![JammyDodger](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/jammydodger/32/254611_2.png) [@JammyDodger](https://meta.discourse.org/u/JammyDodger)
#### Post date: [2025 年 12 月 5 日午後 5:28 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/7 "2025-12-05T17:28:07Z")

</div>

見当もつきません 🤷‍♂️ 🙂

でも、再現できるとしたら、何を確認したいですか？もう一度試して、情報を提供できるか見てみます。

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [2025 年 12 月 8 日午前 1:12 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/8 "2025-12-08T01:12:52Z")

</div>

クリーンな `dv` 環境で 100% 再現可能です。

最新の Chrome で:

`dv new enter-submit`  
`http://enter-submit.localhost/session/user1/become` にアクセス  
`http://enter-submit.localhost/u/user1/preferences/account` にアクセス  
名前を変更  
Enter をクリック

ページがリロードされます。

この件について、`/frontend/discourse/app/controllers/preferences.js` 内で @martin / @j.jaffeux はどうお考えですか？

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

```

この非常に特殊なケースでは、実際にはフォームではないフォームがあるのは少し奇妙です。

---

<div class="post-metadata">

### Author: ![manut](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/manut/32/485119_2.png) [@manut](https://meta.discourse.org/u/manut)
#### Post date: [2025 年 12 月 8 日午前 8:06 UTC](https://meta.discourse.org/t/submitting-preferences-form-with-enter-submits-the-form-natively/390515/9 "2025-12-08T08:06:55Z")

</div>

> [@chapoi](#):
>
> それは、Metaでテストしていないことを示唆していますか？

「すべてのブラウザプラグインを無効にした状態」でテストしたという意味です（ウェブサイトの本来の動作を妨害する可能性のあるものをたくさん使っています）。

Metaでも、クリーンな新規開発環境でも両方テストしました。
