Express中的复选框

我目前正在尝试通过express / ejs将复选框值解析为数组。

当前,用户应该填写以下表格并选中一个复选框: 答案:复选框:

我想解析数据,以便从输入中得到两个数组:

answer = [“字符串1”,“字符串2”,“字符串3”,“字符串4”] 复选框= [已选中,未选中,未选中,未选中]

问题是,仅通过选中的复选框而不是未选中的值来表达解析(因此,我得到的只是checkbox =“ checked”)。

我如何明确表示还要记录“未经检查的”值?我考虑过根据复选框是否选中来设置value = 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>
y2t18wtf 回答:Express中的复选框

Form只会将检查后的值发送到节点服务器,因此Express无法知道什么是未经检查的值,也不知道相应的“字符串”,标签或其他内容是什么。

我想您必须使用自己的机制来处理一些隐藏的输入,并在提交提交之前更新值(form.onsubmit = ...),以便创建所需的数组。

本文链接:https://www.f2er.com/3132351.html

大家都在问