Enviar formulario de preferencias con "enter" envía el formulario de forma nativa

En el discurso main (61e0db0e80), al enviar el formulario de preferencias de usuario con “enter” (ej.: después de cambiar el nombre), el formulario se envía de forma nativa.

Esto resulta en una solicitud GET a la misma página y ningún cambio guardado en la base de datos.

Pasos para reproducir:

  1. Acceder a la página de preferencias
  2. Rellenar/cambiar el nombre
  3. Pulsar enter
  4. La página se recarga.

No puedo reproducirlo aquí en meta, acabo de intentarlo y funciona como se espera.

¿Puedes verificarlo aquí también, por favor?

Claro, pude reproducirlo en:

  • Firefox ESR v140.5.0esr - 64 bits en un perfil limpio (sin complementos, sin configuración personalizada)
  • Chromium v142.0.7444.175 con todos los complementos deshabilitados

Estoy ejecutando Debian 13 y ambos navegadores provienen del repositorio de Debian.

1 me gusta

Muy extraño, no puedo reproducirlo en mi navegador (Firefox 45.0.2/Chromium: 143.0.7499.40)

Cuando dices

Eso me hace pensar que no lo estás probando en Meta.

Para su información, puedo reproducirlo aquí en meta :raised_hand:

Cuando introduzco mi nombre y luego pulso ‘enter’, recarga la página y vacía el valor.

Supongo que no guardó/pudo guardar ningún cambio ya que aún no tuve tiempo de pulsar ese botón antes de que recargara la página.

Hora estimada de llegada (ETA): Parece ocurrir tanto en Firefox como en Chrome (en escritorio/Windows)

1 me gusta

Ok, bueno saberlo. Me pregunto por qué no puedo reproducirlo :confused:

No tengo idea :man_shrugging: :slight_smile:

Pero si pudieras reproducirlo, ¿qué estarías buscando? Puedo intentarlo de nuevo y ver si puedo proporcionarte la información.

1 me gusta

Es 100% reproducible en un entorno dv limpio.

En Chrome más reciente:

dv new enter-submit
http://enter-submit.localhost/session/user1/become
visitar
http://enter-submit.localhost/u/user1/preferences/account
cambiar nombre
hacer clic en enter

La página se recarga.

¿Qué opinamos sobre algo como esto @martin / @j.jaffeux en /frontend/discourse/app/controllers/preferences.js:

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

Es un poco extraño que tengamos un formulario que en realidad no es un formulario en este caso tan específico.

2 Me gusta

Quise decir “con todos los complementos del navegador desactivados” (uso muchas cosas que pueden alterar el comportamiento original de un sitio web)

Probé tanto en Meta como en un entorno de desarrollo nuevo y limpio.

1 me gusta