Захватите многозначные значения из узла формы MySQL

#javascript #node.js #post #crud

Вопрос:

Я пытаюсь извлечь значения множественного выбора из формы.

Код 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>
 

При отправке я не могу зарегистрировать тело.

Ответ №1:

В вашем коде есть несколько проблем.

  • Прежде всего, поскольку вы передаете переменную в качестве имени 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>

 

Комментарии:

1. Это не возвращает никакой ценности. Вывод: {}