【发布时间】:2022-12-23 15:20:39
【问题描述】:
我在 Netlify 上有一个简单的 Next.js 应用程序,它打开一个表单以单击订阅按钮。
代码
这是索引文件:
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>
);
}
这是模态:
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>
);
}
我还有一个带有成功消息的简单pages/success.js应用程序。
问题
当我点击提交按钮时,会出现一个 404 页面。
尝试过的解决方案
- 我已经尝试了表单标签中的每个标签。
- 我已经尝试使用 Next build & Next export 和默认的 Next config deploy。
- 我尝试过使用 Material UI 组件或 HTML 本机元素
有人有想法吗?
【问题讨论】:
标签: javascript reactjs forms material-ui netlify