Форма в EJS файле не передает данные в строке после пробела
Итак есть EJS файл. В нем есть форма с раскрывающимся листом.
<form action="/scheduler/jobEvent" method="POST">
<div class="form-group">
<select class="custom-select" id="addJobEvent" name="event[title]">
<option selected>Select</option>
<!-- populate personnel list -->
<% personnelList.forEach(person => { %>
<option value=<%- person.title %>><%- person.title %></option>
<% }) %>
</select>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-outline-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-outline-success">Save Event</button>
</div>
</form>
Лист наполняется динамически из БД. Затем после нажатия submit данные из формы уходят на сервер в JS и далее обрабатываются:
router.post('/scheduler/jobEvent', middleware.loggedAsAdmin, async (req,res) => {
var personTitle = req.body.event.title;
console.log(personTitle);
});
Лист представляет собой список "ников" сотрудников, состоящих из имени и первой буквы фамилии, например John H, Mike K и т.д. И я столкнулся с тем что при передачи значения ника из списка в back-end теряется всё после пробела. То есть John H становится в консоли просто John. Я сделал следующие попытки поиска причины:
- Когда открываешь список на странице, то ники отображаются как положено с буквой после пробела, то есть в
<%- person.title %>данные приходят нормально. - Я пробовал вручную вбивать ник в значение списка
<option value='John H'><%- person.title %></option>и данные передаются в таком же виде на сервер, то есть ничего не теряется по пути от клиента к серверу. - Я добавил нижнее подчеркивание в ники в БД (
John_H) и все доходит в таком же виде обратно на сервер, то есть причина именно в пробеле.
Кто нибудь сталкивался с подобной проблемой?
Заранее спасибо