【发布时间】:2018-11-08 14:59:27
【问题描述】:
我正在尝试创建自己的 TODO-WEB-APP。
我正在尝试向我的应用添加删除功能。
我正在使用从 server.js 获取请求,并将(通过 res.render)任务数组传递给 hbs 文件。
现在,从 server.js 获取数据后,我将其显示在 hbs 文件中,然后我想允许用户选择他要删除的任务。
我的问题是,一旦用户选择要删除的任务,我不知道如何从 hbs 取回这些数据。
server.js 中的代码(请求):
/*All tasks*/
app.get('/allTasks',(req,res)=>{ //get (go to) the allTasks (hbs file)
Todo.find().then((todos) => {
//console.log(todos);
var arrayOfTodos = [];
var missionIndex = 0;
todos.forEach(function(element){
//console.log("\n\n\n\n\n elemnt details: ",element.text + "\n",element.completed+"\n");
missionIndex = missionIndex + 1;
var addToArrayJson = {
text: element.text,
completed: element.completed,
missionNumber: missionIndex
}
arrayOfTodos.push(addToArrayJson);
console.log("ff\n\n", addToArrayJson);
});
res.render("allTasks.hbs", {
pageTitle: "All tasks: ",
todos: arrayOfTodos
});
console.log("\n\n\n\n\n\n\ is::: \n\n\n\n\n",arrayOfTodos);
});
console.log("req is: \n\n\n", req);
});
hbs文件中的代码:
<form id="delete">
<input value="Delete" type="submit">
</form>
<select id = "chooseDelete" form="delete">
<option> Choose task to delete</option>
{{#each todos}}
<option>{{missionNumber}}</option>
{{/each}}
</select>
这样,我得到了地址行中的值,但是不知道怎么抓取,发给server.js。
这样:
<p id="demo"></p>
<button id="deleteButton">Delete</button>
<script>
deleteButton.addEventListener("click", function(){
document.getElementById("demo").innerHTML = document.getElementById("chooseDelete").value;
});
</script>
我只是得到了值:document.getElementById("chooseDelete").value;
但同样,我不知道如何将其传递回服务器。
[你可以看到这张照片][1]
如果可以,请帮助我。
【问题讨论】:
标签: javascript html node.js mongodb