Web 表单的响应不会在控制台上的 space 之后显示任何内容
Response from Web form won't display anything after a space on the console
我 运行 遇到了另一个问题,希望有人能帮我解决这个问题。我设法从表单中提取信息并将其存储在数据库中。但我注意到,当我将数据显示到控制台时,当中间有 space 时,部分信息会被遗忘。例如,room 的 options 元素的值可以是“learning web development”。当我尝试将其显示到控制台时,它只会给我“学习”。奇怪的是,所有的单词,包括中间的 spaces 都被添加到数据库中。
<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'
}
session:学习。应该是session:学习Web开发。我想使用 session 中的值将其与数据库中的值进行比较。任何帮助将不胜感激。
解释一下
以这行为例:
<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
只是'learning',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>
我 运行 遇到了另一个问题,希望有人能帮我解决这个问题。我设法从表单中提取信息并将其存储在数据库中。但我注意到,当我将数据显示到控制台时,当中间有 space 时,部分信息会被遗忘。例如,room 的 options 元素的值可以是“learning web development”。当我尝试将其显示到控制台时,它只会给我“学习”。奇怪的是,所有的单词,包括中间的 spaces 都被添加到数据库中。
<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'
}
session:学习。应该是session:学习Web开发。我想使用 session 中的值将其与数据库中的值进行比较。任何帮助将不胜感激。
解释一下
以这行为例:
<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
只是'learning',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>