Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

292
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda