从 NodeJS 表单中获取多选值 MySQL

Grab multiselect values from a form NodeJS MySQL

我正在尝试从表单中获取多个 select 值。

JS代码

router.post('/profile', (req, res)=>{
    console.log(req.body.name);
})

HTML /个人资料

<div class="form-group" method="POST">
    <br>
    <select class="form-control multiselect" multiple="multiple">
    {{#team}}
        <option value="{{name}}" name="{{name}}">{{name}}</option>
    {{/team}}
    </select>
    <div class="form-group">
        <button type="submit" class="btn btn-primary btn-block">Update Members<i class="icon-circle-right2 ml-2"></i></button>
    </div>
</div>

提交时我无法记录正文。

您的代码中存在多个问题。

  • 首先,由于您将变量作为名称 name="{{name}}" 传递,我假设该变量的值等于 name[],请注意您需要添加数组括号以发送多个值对于同一个键。
  • 另外 method="POST" 属性应该添加到表单标签中,而不是 div。

最后,您的代码应该类似于下面的代码:

<form method="POST">
    <div class="form-group">
        <br>
        <select class="form-control multiselect" multiple="multiple" name="name[]">
        {{#team}}
            <option value="{{name}}" >{{name}}</option>
        {{/team}}
        </select>
        <div class="form-group">
            <button type="submit" class="btn btn-primary btn-block">Update Members<i class="icon-circle-right2 ml-2"></i></button>
        </div>
    </div>
</form>