Мне нужно вставить данные в mongodb через узел js. (+ edit) Вот мой код вставки
app.post('/composemail', express.urlencoded({extended:true}), function(req,res) {
var db = req.db;
var collection = db.get('emailList');
var sender = "abc@mail.com";
var recipient = req.body.recipient;
var title = req.body.title;
var time = req.body.time;
var content = req.body.content;
var mailbox = req.body.mailbox;
var newmail = {'sender':sender,'recipient':recipient,'title':title,'time':time,'content':content,'mailbox':mailbox};
collection.insert(newmail, function(err,result) {
if (err === null) {
res.send("Successfully added!");
} else res.send(err);
})
})
(+ edit) Это мой HTML-код. Форма генерируется скриптом. Функция compose запускается при нажатии кнопки «compose»
function compose() {
emailDIV.innerHTML = "<form name='compose' action='/composemail' method='post'> New Message";
emailDIV.innerHTML += "<p>To: <input type='textbox' name='recipient'></p>";
emailDIV.innerHTML += "<p>Subject: <input type='textbox' name='title'></p>";
emailDIV.innerHTML += "<p><input type='textarea' name='content' class='textarea'></p>";
emailDIV.innerHTML += "<input type='hidden' name='mailbox' value='"+nowBox+"'>";
date = new Date();
time = date.toTimeString().split(' ')[0]+" "+date.toDateString();
emailDIV.innerHTML += "<input type='hidden' name='time' value='"+time+"'>";
emailDIV.innerHTML += "<input type='submit' value='Send'> </form>";
}
Однако, если форма написана напрямую в HTML, она работает!
<div id="test">
<form name='compose' action='/composemail' method='post'>
New Message
<p>To: <input type='textbox' name='recipient'></p>
<p>Subject: <input type='textbox' name='title'></p>
<p><input type='textarea' name='content' class='textarea'></p>
<input type='hidden' name='mailbox' value='Important'>
<!--date = new Date();
time = date.toTimeString().split(' ')[0]+" "+date.toDateString(); -->
<input type='hidden' name='time' value='20:00:01 Wed Nov 06 2019'>
<input type='submit' value='Send'> </form>
</div>
, но форма должна быть сгенерированатолько когда кнопка нажата. Что мне делать?