我关注了这个tutorial我可以在其中制作一个表单,用户可以在其中提交评论和姓名。但是,我想发送用户按下提交按钮的日期。它似乎只保存用户输入文本字段的数据。我不希望用户能够自己做。我该怎么做?
我以前用的是 jQuery,后来改用 Node.js/Express,因为我必须将数据保存到数据库,而且我不太了解。
index.ejs 上的代码:
<form action="/tweets" method="POST">
<input type="name" id="name" placeholder="name" name="name">
<textarea type="text" id="tweet" placeholder="What's up?" name="tweet"></textarea>
<button type="submit">Tweet!</button>
</form>
每当我按下提交。名称和推文已保存,但我不知道如何保存日期。
.js代码是这样的:
app.post('/tweets', (req, res) => {
db.collection('tweets').save(req.body, (err, result) => {
if (err) return console.log(err)
console.log('saved to database')
res.redirect('/')
})
})
当我使用 jQuery 时,我在 index.html 中有一个这样的按钮:
<input type="button" id="addTweet" value="Tweet!"/>
在 .js 文件中的什么地方是这样的:
$('#addTweet').click(function(){
var addObj = {
"name": $('#name').val(),
"date": getTodayDate(),
"body": $('#tweet').val()
}
这样我就可以保存他们单击按钮时的日期。在 Node.js 上,我不明白如何/在哪里可以输入日期。
最佳答案
一个可能的选择是在保存时修改您的请求。这当然假设您不必对底层数据库进行任何结构更改。
app.post('/tweets', (req, res) => {
req.body.created_at = new Date();
db.collection('tweets').save(req.body, (err, result) => {
if (err) return console.log(err)
console.log('saved to database')
res.redirect('/')
})
})
关于javascript - 使用 Node.js 和 Express 提交表单时如何发送日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46931656/