Node.js 点击表单上的“提交”按钮后未发生任何事件
点击表单上的提交按钮后,没有发生任何事情。不是错误,什么都不会发生。我正在使用node.js与express和NodeEmailer一起提交表单。与此相关的大多数问题都是php,不属于此领域。如果您能给予帮助,我们将不胜感激 这是我的server.js:Node.js 点击表单上的“提交”按钮后未发生任何事件,node.js,express,nodemailer,Node.js,Express,Nodemailer,点击表单上的提交按钮后,没有发生任何事情。不是错误,什么都不会发生。我正在使用node.js与express和NodeEmailer一起提交表单。与此相关的大多数问题都是php,不属于此领域。如果您能给予帮助,我们将不胜感激 这是我的server.js: app.post('/contact', function (req, res) {
app.post('/contact', function (req, res) {
//Check if all required fields are filled
if (!req.body.name || !req.body.email || !req.body.message) {
res.render('contact', {
title: 'Contact',
err: true,
page: 'contact',
type: 'empty',
body: req.body.message,
name: req.body.name,
email: req.body.email,
msg: 'Thanks.',
description: 'Email is successful'
});
return;
}
//Set up smtp mailer
smtpTrans = nodemailer.createTransport({
service: 'Gmail',
auth: {
user: "madeforgoggl@gmail.com",
pass: ""
}
});
//Fill mail options
mailOpts = {
from: req.body.name + '<' + req.body.email + '>', // grab form data from the requet body
to: 'madeforgoggle@gmail.com',
subject: 'Website contact',
text: req.body.message + ' || NAAM:' + req.body.name + ' || EMAIL:' + req.body.email
};
smtpTrans.sendMail(mailOpts, function (error, info) {
//Email not sent
if (error) {
//console.log(error)
res.render('contact', {
title: 'Contact',
page: 'contact',
type: 'error',
description: 'Email not successful'
});
}
// Yay!! Email sent
else {
res.render('contact', {
title: 'Contact',
page: 'contact',
type: 'success',
description: 'Email successful'
});
}
});
});
这是我的表单-将按钮操作更改为输入提交,因为我认为这就是问题所在:
<form action="/contact" id="contact-form" method="post" role="form">
<div class="form-group">
<input id="yourname" type="text"name="name" placeholder="name" class="form-control" required size="40" />
</div>
<div class="form-group">
<input id="yourcompany" type="text" name="company" placeholder="company" class="form-control" required size="40" /> <
</div>
<div class="form-group">
<input id="youremail" type="email" name="email" placeholder="email" class="form-control" required size="40" /> <
</div>
<div class="form-group">
<textarea id="yourmessage" name="message" class="form-control" placeholder="MESSAGE" required size="40" rows="10"></textarea>
</div>
<div class="form-group">
<input type="submit" class="btn btn-block btn-danger">
Send Message
</input>
I've been working on this since 4 am and can't seem to figure out what is wrong. Any help is greatly appreciated.
<
<
发送消息
我从凌晨4点就开始做这件事了,似乎不知道出了什么问题。非常感谢您的帮助。
您是否检查过POST请求是通过查看浏览器控制台中的“网络”选项卡发出的?是的,刚刚检查过,还查看了控制台中的“未发生任何事情”。请原谅我的疏忽。表单或按钮是否附加了javascript?顺便说一句,提交按钮无效,它应该是:
谢谢!没有javascript附加到按钮,我遵循本教程: