#html #node.js #mongodb #express #handlebars.js
Вопрос:
Я столкнулся с другой проблемой и надеялся, что кто-нибудь поможет мне в этом разобраться. Мне удалось извлечь информацию из формы и сохранить ее в базе данных. Но я заметил, что, когда я отображаю данные на консоли, часть информации остается позади, когда между ними остается пространство. Например, значением элемента параметры для комнаты может быть «обучение веб-разработке». Когда я пытаюсь отобразить это в консоли, это дает мне только «Обучение». Что странно, так это то, что все слова, включая пробелы между ними, добавляются в базу данных.
<form class="form-container" method="POST">
<div class="form-group">
<label>Room</label>
<select name="room" class="form-select" required aria-label="select example">
{{#each room}}
<option class="rooms" value={{this.room}}>{{this.room}}</option>
{{/each}}
</select>
<label>Session</label>
<select name="session" class="form-select" required aria-label="select example">
{{#each room}}
<option class="rooms" value={{this.session_name}}>{{this.session_name}}</option>
{{/each}}
</select>
</div>
<div class="form-group">
<label for="exampleInputPassword1">Time</label>
<input type="time" name="count_time" class="form-control" id="exampleInputPassword1">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Count</label>
<input type="number" name="room_counts" class="form-control" id="exampleInputPassword1" placeholder="Count">
</div>
<div class="button-container">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
Вот код js узла:
app.post('/count', (req,res)=>{
console.log(req.body.session);
console.log(req.body);
res.redirect('/count');
});
Вот ответ на консоли:
Learning
{
room: 'Kenmore',
session: 'Learning',
count_time: '13:33',
room_counts: '100'
}
сессия: Обучение. Предполагается, что это будет сессия: Изучение веб-разработки. Я хочу использовать значение из сеанса, чтобы сравнить его с тем, что есть в базе данных. Любая помощь будет признательна.
Ответ №1:
Объяснять
Возьмем, к примеру, эту строку:
<option class="rooms" value={{this.session_name}}>{{this.session_name}}</option>
Если this.session_name
есть learning web development
, то это станет:
<option class="rooms" value=learning web development>{{this.session_name}}</option>
И value
это просто «обучение», web
и development
будет рассматриваться как атрибуты option
тега типа class
или value
(вы можете видеть цвета текста)
Экшен
Вы должны заключить переменную в двойные кавычки
<option class="rooms" value="{{this.session_name}}">{{this.session_name}}</option>
Это станет:
<option class="rooms" value="learning web development">{{this.session_name}}</option>
Комментарии:
1. Вау, еще раз спасибо, что объяснил мне это