2016-10-13 3 views
1

Я делаю чат-приложение, которое требует от пользователя выбора комнаты на основе номеров, доступных в <datalist> вариантах, которые получают его <option> с таблицы sql сервера.Добавить ребенка в HTML прямо из nodejs?

У меня есть файл login.html, который просит пользователя ввести имя пользователя и номер комнаты, которую они хотят ввести. Изначально у него есть datalist, но в нем нет никаких опций.

app.get("/", function(req, res) { 
    res.sendFile(__dirname + "/login.html"); 
}); 

Я хочу, чтобы перед отправкой login.html по запросу у меня есть параметры, добавленные внутри datalist.

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> 
+1

Как насчет использования шаблонов, таких как Jade или EJS, и прекращения подачи статических файлов .html. – adeneo

+0

Не существует способа сортировать appendChild («вновь созданный узел опций») непосредственно с сервера ... возможно, хотя javascript login.html, не через сервер? –

+1

Нет, вы не можете добавить ничего к статическому файлу на сервере, тогда вам придется делать это на клиентах и ​​т. Д. Установка и использование, например, EJS, передача чего-либо в файл, а затем динамическое создание элементов не так сложно. – adeneo

ответ