Флажок в Экспресс - PullRequest
       42

Флажок в Экспресс

0 голосов
/ 09 ноября 2019

В настоящее время я пытаюсь проанализировать значения флажков в массиве через express / ejs.

В настоящее время пользователь должен заполнить форму, подобную этой, и толстый флажок: Answer: Checkbox:

Я хочу разобрать данные так, чтобы я получил два массива из входных данных:

answer = ["строка 1", "строка 2", "строка 3", "строка 4"] checkbox = [проверено, не проверено, не проверено, не проверено]

Проблема заключается в том, чтобы выражать только синтаксический анализ только проверенных флажков, а не непроверенных значений (поэтому все, что я получаю, это checkbox = "флажок").

Как я могу получить экспресс, чтобы также регистрировать "непроверенные" значения? Я рассмотрел установку значения = true / false в зависимости от того, установлен ли флажок, но я не могу понять, как проверить это в ejs.

Спасибо!

JS

router.post(`/`, (req, res) => {
    console.log(req.body);
    res.redirect(`/`);
})

EJS

<form action="/question" method="post">
        <label for="sessionName">Session Name</label><input type="text" name="sessionName">
        <div class="question">
            <label for="question">Question: </label><input type="textarea" name="question">
            <ul>
                <li><label for="answer">Answer 1: </label><input type="textarea" name="answer"><input type="checkbox" name="test" value="1"></li>
                <li><label for="answer">Answer 2: </label><input type="textarea" name="answer"><input type="checkbox" name="test" value="1"></li>
                <li><label for="answer">Answer 3: </label><input type="textarea" name="answer"><input type="checkbox" name="test" value="1"></li>
                <li><label for="answer">Answer 4: </label><input type="textarea" name="answer"><input type="checkbox" name="test" value="1"></li>
            </ul>
        </div>
        <input type="submit" name="" value="Create Session">
    </form>

1 Ответ

0 голосов
/ 09 ноября 2019

Форма будет отправлять только проверенные значения на сервер узла, поэтому Express не может знать, что такое непроверенные значения, и каковы были соответствующие «строки», метки или что-то еще.

Я полагаю, вам придетсяработайте по своему собственному механизму с некоторыми скрытыми входными данными и значениями, обновляемыми непосредственно перед отправкой (form.onsubmit = ...) для создания этих массивов, которые вам нужны.

...