作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 Node+Express+Jade 呈现一些网页。在一个表单上有 2 个复选框。通过 POST 提交表单时,如果复选框被选中,我得到 req.body.checkbox1 -> 'on'
,如果没有被选中,我得到 req.body.checkbox1 -> 未定义
是否可以将复选框的值设为 true
或 false
?
这是我的服务器端测试代码
var bodyParser = require('body-parser');
var express = require('express');
var app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static(__dirname + '/webroot'));
app.set('views', __dirname + '/view');
app.set('view engine', 'jade');
app.listen(3001);
app.get('/', function (req, res) {
res.render('test');
});
app.post('/config', function (req, res) {
console.log(req.body.t);
console.log(req.body.f);
res.redirect('/');
});
还有我的 Jade 式测试
form(action='/config', method='post')
input(type="checkbox", name="not_checked", checked=false)
input(type="checkbox", name="checked", checked=true)
input(type='submit')
最佳答案
我最近正在为一个项目解决这个问题......
这是表格:
form(action='/survey/submission/test/config', method='post')
input(type="checkbox", name="1")
input(type="checkbox", name="2")
input(type="checkbox", name="3")
input(type="submit")
然后在 Node javascript 中可以通过每个的 req.body.name 找到它们。如果选中其中一个框,req.body.name 将返回“on”。如果未选中某个框,则它们未定义。因此三元语句可用于创建新对象并将它们作为 boolean 值保存到数据库中。
object = {
first: req.body.1 ? true : false,
second: req.body.2 ? true : false,
third: req.body.3 ? true : false
};
希望这对其他人有帮助。弄清楚后我很高兴
关于node.js - Node Express Jade - 复选框 boolean 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32203418/
我是一名优秀的程序员,十分优秀!