javascript - 复选框和 Node JS
问题描述
我很难理解如何html check boxes
使用节点 Js 和 Express。我有一个简单的表格,EJS
在我进一步处理后端逻辑之前,我想确保正确的值被拉过。我找不到任何可以帮助的资源,所以我来到了这里(但我可能很愚蠢,答案就在我的眼皮底下)。
现在,每一个console.log
都被返回false
,而不是true
在选中复选框时。我不认为这是我的表单,它可能是 Express 中未正确构建的后端。任何帮助都会很棒。
EJS
<form action = "/results" method ="POST">
<ul>
<li>
<label for="citysearch">City Name</label>
<input type="text" name="citysearch" id="citysearch" placeholder="e.g. Los Angeles">
</li>
<li>
<label for = "Celcius">Celcius?</label>
<input type="checkbox" name="celcius" id="celcius" checked="true">
</li>
</ul>
<button type="submit">submit</button>
</form>
快递/节点
app.post('/results', function(req, res){
var checked = req.body.checked
if (checked == "true") {
console.log("true");
} else {
console.log("false");
}
});
解决方案
您的 req.body 中没有 name 属性checked
。相反,您有两个属性:citysearch
和celcius
. 以这种方式为您的复选框添加价值:
<input type="checkbox" name="celcius" id="celcius" checked="true" value="true">
在你的控制器中使用这个:
if (req.body.celcius) {
console.log("true");
} else {
console.log("false");
}
请注意,如果您不选中复选框,则您的 req.body 将只有一个属性,citysearch
,因为未选中的复选框不会发送到控制器。
推荐阅读
- python - 为什么 .nnz 表示稀疏矩阵中存在更多非零元素?
- excel - 在 CreateObject("WScript.Shell") 创建的弹出消息框中插入新行
- python - Python Excel:openpyxl - 在下拉列表中复制/选择值
- node.js - 没有 web3 或 ethereum js 的 Web 应用程序的 MetaMask Web3 对象错误
- ajax - 如何通过从 laravel 6.x 中的数据库中获取纬度和经度值来获取谷歌地图位置
- python - Cython“ModuleNotFoundError”,即使它是在构建 docker 映像时通过 requirements.txt 安装的
- css - 是否有可能两个在单个 div 上结合 css 中的两个线性渐变
- python - 如何使用 Ajax 更新评论计数
- amazon-cloudformation - AWS Backupvault SNS 通知
- python-3.x - Google App Engine:Flask 应用程序上的 cv2 libSM.so.6 错误