Evaluación inicial sin contraseñas Presupuesto antes de intervenir Especialista responsable de principio a fin

Navegador Javascript Spam Privacidad

Un error JavaScript impide enviar un formulario WordPress

Rastrea consola, peticiones, orden de dependencias, conflictos, caché, formularios duplicados y recuperación accesible.

Los formularios modernos usan JavaScript para validación, campos condicionales, CAPTCHA y AJAX. Una excepción puede detener el manejador antes de que llegue ninguna petición a WordPress, dejando sin evidencia PHP o SMTP.

Reproduce el fallo como visitante e identifica el primer error, no reinstales el formulario.

Confirma si sale una petición

Abre las herramientas antes de enviar datos sintéticos. Filtra fetch/XHR y observa el POST, AJAX o endpoint REST.

Si no aparece nada, permanece en el navegador. Si devuelve 403, 422 o 500, sigue la respuesta y los logs del servidor en vez de tratarlo como JavaScript puro.

Anota página, hora, navegador e ID sin capturar valores personales.

Lee el primer error relevante

Recarga con la consola abierta y reproduce una vez. Empieza por el primer error relacionado con formulario, tema, consentimiento u optimización; los posteriores pueden ser consecuencias.

Registra mensaje, archivo y línea, y si el script devuelve 404 o lo bloquea Content Security Policy. Oculta tokens y URL privadas.

Si apunta a un bundle minificado, utiliza el source map solo si corresponde a la versión desplegada. Un mapa antiguo puede señalar una línea falsa. Comprueba el hash o query del recurso y conserva la traza original antes de regenerar assets.

Los warnings no relacionados no son automáticamente la causa.

Prueba fuera de la sesión administrativa

Usa una ventana privada sin login. Los administradores suelen recibir assets sin minificar y evitar caché, consentimiento o seguridad.

Repite en el navegador reportado y en móvil real cuando proceda. Las extensiones pueden bloquear trackers o CAPTCHA; compara un perfil limpio sin exigir que el visitante desactive su protección.

Cambia una sola variable entre pruebas.

Comprueba el orden de dependencias

“Function undefined” suele significar que una dependencia llegó tarde, se aplazó mal o no cargó. Revisa el orden del plugin, jQuery si se necesita, CAPTCHA y código propio.

La optimización puede retrasar una librería más allá de la inicialización. Excluye únicamente el handle demostrado o restaura la dependencia documentada.

Regenera el asset y purga la página después de corregir el origen.

Busca ID y formularios duplicados

Un maquetador puede renderizar copias para móvil/escritorio o repetir un popup. ID duplicados pueden enlazar el handler al elemento equivocado o inicializar dos veces.

Inspecciona el DOM final, no solo el editor. Prefiere un formulario responsive e identificadores únicos.

Comprueba si el código propio selecciona un solo elemento cuando existen varios.

Revisa también cuántos listeners de submit existen y si alguno llama a preventDefault() sin continuar. Dos integraciones pueden capturar el mismo evento; elimina solo el listener demostrado, no la validación legítima.

Aísla conflictos con seguridad

En staging, reproduce la página y desactiva complementos sospechosos uno a uno, empezando por cambios recientes y scripts de la traza. Mantén tema, PHP y optimización equivalentes.

Desactivar en producción puede eliminar antispam, entradas o checkout; proporciona antes una vía alternativa.

No uses copias no oficiales para comparar.

Haz recuperable el fallo

El botón debe permanecer deshabilitado solo durante una petición activa. Tras un error, muestra un mensaje veraz, conserva campos seguros y ofrece una alternativa monitorizada.

Protege especialmente contraseñas, pagos y archivos: no los restaures automáticamente después de una excepción. Indica con claridad qué debe seleccionar o introducir de nuevo el visitante.

No muestres éxito por temporizador ni ocultes excepciones. Analytics debe convertir tras procesamiento confirmado, no al hacer clic.

El texto de error debe ser accesible y recibir el foco correctamente.

Verifica navegador y servidor

Tras la corrección, prueba una vez en navegadores compatibles de escritorio y móvil. Confirma ausencia del error relevante, una petición, una entrada, notificaciones y llegada final.

Prueba validación, condiciones, CAPTCHA y navegación repetida. Monitoriza errores front-end sin recopilar campos.

Solicita reparación urgente si los bundles ocultan la fuente o es una ruta crítica de ventas. Comparte URL, navegador, hora y stack redactado, nunca datos o tokens.

ANTES DE ENVIAR LA SOLICITUD

Preguntas frecuentes.

¿Pedís contraseñas en el formulario?+

No. El formulario público nunca solicita accesos. Los datos seguros se piden únicamente después de aprobar el alcance y el presupuesto.

¿Quién revisa la incidencia?+

La solicitud llega a Jordi Ensenyat, fundador de Code Barcelona y especialista WordPress con más de 15 años de experiencia.

¿Se cambia algo antes del presupuesto?+

No. Primero se revisan los síntomas visibles y se define el alcance. La intervención empieza tras la aprobación y con una vía de vuelta preparada.

¿Trabajáis con webs en inglés y fuera de España?+

Sí. WP Repair atiende incidencias WordPress y WooCommerce en inglés y español, con servicio remoto.

Evaluar mi incidencia