gpt4 book ai didi

html - 在 NodeJS 中读取复选框数据的正确方法

转载 作者:搜寻专家 更新时间:2023-10-31 23:24:57 24 4
gpt4 key购买 nike

我的网页上有一个表单,它被提交到 NodeJS 后端。我在使用复选框时遇到问题。当它们被提交到服务器时,我通过 req.body.foods 读取它们,我得到类似 ['on', 'on', 'on'] 的内容。

但我想获得实际值,即 ['dairy', 'fish'] 等。

我该怎么做?

<div class="col-sm-6">
<div class="checkbox">
<label><input name="food" type="checkbox" value="dairy">Dairy</label>
</div>
<div class="checkbox">
<label><input name="food" type="checkbox" value="meat">Meat</label>
</div>
<div class="checkbox">
<label><input name="food" type="checkbox" value="fish">Fish</label>
</div>
</div>

最佳答案

您可以在 node.js 文件中执行以下操作:

console.log(req.body.food); //This will print the array of values.

如果您在页面中只选中了一个复选框(例如:Dairy),它将打印“dairy”。如果有多个复选框,那么您会在输出中得到“{ 'dairy', 'meat' }”。确保复选框在表单内。

另一种方法:

在表单中包含一个隐藏的输入元素:

<input name="SelectedValues" type="hidden" value="">

还在每个复选框的 onchange 事件或表单中提交按钮的 onclick 事件中包含对 javascript 文件的调用。

onclick='buildlist("YourCheckBoxName","SelectedValues");'

使用 javascript 函数遍历您的复选框并构建一个逗号分隔的所选值列表:

function buildlist(listName,labelName){
var controls = document.getElementsByName(listName);
var label = document.getElementsByName(labelName);
label.value = '';
for(var i=0;i<controls.length;i++){
label.value += controls[i].value.toString()+',';
}
}

现在在 node.js 文件中,使用以下代码访问值列表:

req.body.SelectedValues

关于html - 在 NodeJS 中读取复选框数据的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29108747/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com