【问题标题】:Append a child in HTML directly from nodejs?直接从nodejs在HTML中附加一个孩子?
【发布时间】: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


【解决方案1】:

也许使用节点https://nodejs.org/docs/latest/api/fs.html 中的文件系统会对您有所帮助。你需要先 require "fs" 模块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 2015-06-18
    相关资源
    最近更新 更多