Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

281
Vistas
El formulario de Netlify no funciona con un modal Material-UI

Tengo una aplicación Next.js simple en Netlify que abre un formulario para hacer clic en el botón de suscripción.

Código

Aquí está el archivo de índice:

pages/index.js

 import React from 'react'; import { SubscribeModal } from '../components/SubscribeModal'; export default function Home() { const [open, setOpen] = React.useState(false); return ( <div> <button onClick={() => setOpen(true)}>Sign in in newsletters</button> <SubscribeModal open={open} onClose={() => setOpen(false)} onSuccess={() => setOpenBadNews(true)} /> </div> ); }

Aquí está el modal:

components/SubscribeModal.js

 import { Dialog, DialogTitle } from '@mui/material'; export function SubscribeModal({ open, onClose, onSuccess }) { return ( <Dialog onClose={onClose} open={open}> <DialogTitle> <b>Login</b> </DialogTitle> <form name="contact" action="/success" method="POST" data-netlify="true"> <input type="hidden" name="form-name" value="contact" /> <p> <label htmlFor="youremail">Your Email: </label>{' '} <input type="email" name="email" id="youremail" /> </p> <p> <button type="submit">Send</button> </p> </form> </Dialog> ); }

También tengo una aplicación sencilla de pages/success.js con un mensaje de éxito.

Problema

Cuando hago clic en el botón Enviar, aparece una página 404.

solución probada

  • He probado todas las etiquetas en la etiqueta de formulario.
  • Lo probé con Next build & Next export y con la implementación predeterminada de Next config.
  • Lo probé con el componente Material UI o elementos nativos HTML

¿Alguien tiene una idea?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Es porque su modal no se representa en la compilación.

Netlify analizará su HTML para encontrar la data-netlify="true" . Pero en la compilación, no hay ninguna etiqueta porque JavaScript agregará el modal cuando el usuario haga clic en el botón y no en el momento de la compilación.

Entonces puede crear otra página en su próximo proyecto como /subscribe con el formulario. Entonces, el formulario se procesará en el momento de la compilación y Netlify podrá detectar su formulario.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda