【发布时间】:2017-02-22 15:18:50
【问题描述】:
我正在制作一个聊天应用程序,它要求用户根据<datalist> 选项中可用的房间选择一个房间,该选项从服务器的 sql 表中获取其<option>s。
我有一个 login.html 文件,要求用户输入他们想要输入的用户名和房间号。最初,它有一个数据列表,但里面没有任何选项。
app.get("/", function(req, res) {
res.sendFile(__dirname + "/login.html");
});
我希望在根据请求发送 login.html 之前,我在数据列表中附加了选项。
app.get("/", function(req, res) {
//do something so that options get added in the datalist of my html.
res.sendFile(__dirname + "/login.html");
});
这是 login.html 中显示的表单
<form id = "myForm2" method = "POST" action = "/user">
<input type = "text" name = "username" autocomplete = "off" placeholder = "username"><br>
<input type = "text" name = "roomnum" autocomplete = "off" placeholder = "room number" list = "room_list"><br>
<datalist id = "room_list">
</datalist>
<input type = "submit">
</form>
【问题讨论】:
-
如何使用模板,如 Jade 或 EJS,并停止提供静态 .html 文件。
-
有没有办法直接从服务器对 appendChild("newly created option node") 进行排序...通过 login.html 的 javascript 是可能的,不是通过服务器吗?
-
不,您不能将任何内容附加到服务器上的静态文件,然后您必须在客户端等执行此操作。安装和使用例如 EJS,并将某些内容传递给文件然后动态创建元素并不难。
-
是的,使用模板。看看 Pug (ex Jade),它简单易学。如果您需要帮助,请回复我。
标签: javascript html node.js forms express