⌘I

Error "Unable to submit form".

Updated August 28, 2024 ·
errors
Also available in:

¿Has encontrado una pantalla de error con el título “Unable to submit form”? Se vería así:

Screen_Shot_2020-07-12_at_10.38.00_AM.png

Si es así, este artículo debería ayudarte a resolver el problema.

¿Qué pasó?

Si estás viendo esta pantalla significa dos cosas:

  1. Tu solicitud no incluye el header HTTP “referer” que contiene la URL de la página web desde la que se envió el formulario.
  2. El formulario fue configurado con un atributo action que apunta a una URL de Formspree que contiene una dirección de correo. Por ejemplo: https://formspree.io/email@domain.com.

Cuando la URL action del formulario contiene solo un correo para identificación, Formspree necesita información adicional contenida en el header “referer” para identificar el formulario. Estas URLs basadas en correo eran la forma original de integrarse con Formspree. Hoy en día hemos pasado a usar un ID de formulario en la URL, así que ya no dependemos del header “referer”.

Solución sugerida

Como propietario del formulario, si estás usando un atributo action como https://formspree.io/email@domain.com te sugerimos estos pasos:

  1. Crea una cuenta gratis en https://formspree.io/register.
  2. Crea un nuevo formulario. Recibirás una URL action que contiene un id de formulario único.
  3. Usa la nueva URL en lugar de tu URL anterior basada en correo.

Esto permitirá que tu formulario funcione en todos los navegadores y en todas las páginas de tu sitio web. Además, ya no necesitarás exponer tu correo en el HTML del formulario, un posible problema de seguridad.

Si quieres transferir tus envíos existentes al nuevo formulario, envía una solicitud a nuestro equipo de soporte y nos encargaremos de ello por ti.

Solución heredada

Como propietario del formulario, si no puedes cambiar el atributo action de tu formulario, prueba los siguientes pasos de solución de problemas. Ten en cuenta que sin cambiar tu URL como se describe en la solución sugerida anterior, tu formulario puede no cargarse en todos los navegadores. (ver abajo)

  1. Puedes encontrarte con este error al hacer pruebas locales abriendo un archivo HTML directamente en tu navegador. En este caso su URL comenzará con file:/// en lugar de http:// o https://. Esto no funcionará porque los navegadores no tratan estas páginas como recursos web normales. Específicamente, no envían el header “referer”. Intenta ejecutar un servidor web local para alojar la página de tu formulario. Si estás en Mac o Linux, puedes lanzar un servidor web escribiendo el siguiente comando en tu aplicación de terminal:

    python -m SimpleHTTPServer 8000

    Luego visita http://localhost:8000 en tu navegador.

    Si estás en Windows, intenta instalar uno de los siguientes servidores web: Web server for Chrome, thttpd o Quickshare.

  2. Si has configurado tu formulario para enviar a una url con el protocolo http://, pero tu formulario está alojado en una página accedida mediante el protocolo https://, el header “referer” no será enviado. Necesitarás actualizar tu URL action. En este caso recomendamos la solución sugerida anterior.

  3. Si estás usando el navegador Brave, ten en cuenta que Brave puede bloquear el header “referer”. Este problema ha sido reportado al equipo de Brave. Nos encantaría tu ayuda para llamar la atención del equipo de Brave votando a favor.