javascript - 表单提交事件未向函数提交值
问题描述
我在模态中编写了一个表单,在提交时应该调用一个函数并将值传递给函数以进行进一步处理。
代码如下所示:
function sendEmail(e) {
e.preventDefault();
emailjs
.sendForm(
"Gmail",
"template_b2lt88n",
e.target,
"user_k3ayAhuF6Lg5FZ4Ah1Ysx"
)
.then(
(result) => {
console.log(result.text);
},
(error) => {
console.log(error.text);
}
);
e.target.reset();
alert("Form Submitted!");
}
const Popform = (props) => {
return (
<Modal
{...props}
size="lg"
aria-labelledby="contained-modal-title-vcenter"
centered
>
<Modal.Header closeButton>
<Modal.Title id="contained-modal-title-vcenter">
Place Order
</Modal.Title>
</Modal.Header>
<Modal.body>
<FormData>
<Form onSubmit={sendEmail} id="search_form">
<FormInput
type="text"
name="subject"
placeholder="subject"
required
/>
<FormInput type="text" name="name" placeholder="name" required />
<FormInput
type="email"
name="email"
placeholder="email address"
required
/>
<FormInput type="tel" name="number" placeholder="phone" required />
<TextArea
rows="3"
name="idea"
placeholder="Your idea"
required
></TextArea>
<Button
type="submit"
value="Send"
>
SUBMIT
</Button>
</Form>
</FormData>
</Modal.body>
<Modal.Footer>
<Button onClick={props.onHide}>Close</Button>
</Modal.Footer>
</Modal>
);
};
export default Popform;
问题是提交时没有调用该函数。我认为提交按钮本身不起作用。
但是,如果我在模式之外使用相同的表单代码和函数,它工作正常。
解决方案
推荐阅读
- java - 用户更改后如何获取Jtable的列宽
- sql - 如何显示 JSON 数组的元素?
- reactjs - 通过将状态对象作为变量名传递来动态设置状态对象:React
- node.js - 在 localhost 中监视对服务器的 POST 请求
- python - Game of Life - 覆盖当前一代而不是更新到下一代
- c# - 为什么不能为 null 的 int 隐式转换为 int ?技术原因还是设计选择?
- javascript - 如何区分两个数组?
- python - 如何使 ttk.Notebook 选项卡在进入和离开时都生成事件?
- python - 如何在 Python 中将嵌套字典转换为 json?
- azure-devops - 部署的 DevOps 阶段