Formular mit „Enter“ absenden, sendet das Formular nativ

Auf main Discourse (61e0db0e80) wird beim Absenden des Benutzerpräferenzformulars mit „Enter“ (z. B. nach Änderung des Namens) das Formular nativ gesendet.

Dies führt zu einer GET-Anfrage an dieselbe Seite, und es wird keine Änderung in der Datenbank gespeichert.

Schritte zur Reproduktion:

  1. Rufen Sie die Präferenzseite auf
  2. Geben Sie den Namen ein/ändern Sie ihn
  3. Drücken Sie Enter
  4. Die Seite wird neu geladen.

Ich kann das hier auf Meta nicht reproduzieren, habe es gerade versucht und es funktioniert wie erwartet.

Können Sie das bitte auch hier überprüfen?

Sicher, ich konnte es reproduzieren in:

  • Firefox ESR v140.5.0esr - 64 Bit in einem sauberen Profil (keine Plugins, keine benutzerdefinierte Konfiguration)
  • Chromium v142.0.7444.175 mit allen Plugins deaktiviert

Ich verwende ein Debian 13 und beide Browser stammen aus dem Debian-Repository.

1 „Gefällt mir“

Sehr seltsam, ich kann es in meinem Browser nicht reproduzieren (Firefox 45.0.2/Chromium: 143.0.7499.40)

Wenn Sie sagen

Das lässt mich vermuten, dass Sie es nicht auf Meta testen?

FWIW kann ich das hier auf Meta reproduzieren :raised_hand:

Wenn ich meinen Namen eingebe und dann die Eingabetaste drücke, wird die Seite neu geladen und der Wert geleert.

Ich gehe davon aus, dass keine Änderungen gespeichert wurden, da ich noch nicht auf diese Schaltfläche klicken konnte, bevor die Seite neu geladen wurde?

ETA: Scheint sowohl in Firefox als auch in Chrome (auf Desktop/Windows) aufzutreten.

1 „Gefällt mir“

Ok, gut zu wissen. Ich frage mich, warum ich es nicht reproduzieren kann :confused:

Keine Ahnung :man_shrugging: :slight_smile:

Aber wenn du es reproduzieren könntest, wonach würdest du suchen? Ich kann es noch einmal versuchen und sehen, ob ich dir die Informationen geben kann.

1 „Gefällt mir“

Es ist in einer sauberen dv-Umgebung zu 100 % reproduzierbar.

Auf Chrome neueste Version:

dv new enter-submit
http://enter-submit.localhost/session/user1/become
besuchen Sie
http://enter-submit.localhost/u/user1/preferences/account
Namen ändern
Enter drücken

Seite wird neu geladen.

Wie stehen wir zu so etwas @martin / @j.jaffeux in /frontend/discourse/app/controllers/preferences.js:

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

Es ist etwas seltsam, dass wir in diesem ganz speziellen Fall ein Formular haben, das eigentlich kein Formular ist.

2 „Gefällt mir“

Ich meinte „mit allen deaktivierten Browser-Plugins“ (ich verwende eine Reihe von Dingen, die das ursprüngliche Verhalten einer Website beeinträchtigen können)

Ich habe sowohl auf Meta als auch in einer sauberen, brandneuen Entwicklungsumgebung getestet.

1 „Gefällt mir“