Javascript 放置不工作/保存数据
我试图让它,以便当用户点击一个复选框,该值是真的,但当他们离开它未选中它会变成假。我希望它们默认为true。以下是我的用户模型的一部分 我的用户模型的一部分:Javascript 放置不工作/保存数据,javascript,html,node.js,mongodb,mongoose,Javascript,Html,Node.js,Mongodb,Mongoose,我试图让它,以便当用户点击一个复选框,该值是真的,但当他们离开它未选中它会变成假。我希望它们默认为true。以下是我的用户模型的一部分 我的用户模型的一部分: newsletterEmail: { type: Boolean, default: 'true'}, lowerLimitEmail: { type: Boolean, default: 'true'}, featuresEmail: { type: Boolean, default: 'true'}, assetOut18
newsletterEmail: { type: Boolean, default: 'true'},
lowerLimitEmail: { type: Boolean, default: 'true'},
featuresEmail: { type: Boolean, default: 'true'},
assetOut180: { type: Boolean, default: 'true'},
lowerLimit: { type: Boolean, default: 'true'},
我为复选框提供的HTML是:
<div class="form-check">
<label class="form-check-label">
<input class="form-check-input" name="newsletterEmail" type="checkbox" value="true">
Newsletter notifications
</label>
</div>
怎么了?我从另一个路由中获取了代码并对其进行了修改,以查看我是否只是将路由的基本部分写错了,我认为该部分写对了,因此我非常确定这与查询有关。默认值不应该是布尔值吗?它们现在是弦。什么?他们是布尔人看看第一段代码。表示布尔值,除非我也需要把它放在其他地方。我考虑的是默认值,通常没有默认值时,您会将其放在引号中。虽然我怀疑这会解决任何问题,但我还是不妨提一下。@MikaS当我以
true
的形式查询它时,它会显示在我的数据库中,因此我假设它正在工作。我不确定我是否理解正确,但如果您希望它在用户未选中复选框时为true
,在选中复选框时为true
。为什么不将该值设置为true
?默认值不应该是布尔值吗?它们现在是弦。什么?他们是布尔人看看第一段代码。表示布尔值,除非我也需要把它放在其他地方。我考虑的是默认值,通常没有默认值时,您会将其放在引号中。虽然我怀疑这会解决任何问题,但我还是不妨提一下。@MikaS当我以true
的形式查询它时,它会显示在我的数据库中,因此我假设它正在工作。我不确定我是否理解正确,但如果您希望它在用户未选中复选框时为true
,在选中复选框时为true
。为什么不将该值设置为true
?
User.findById(req.user.id, function(err, user) {
if (err) return (err);
user.newsletterEmail = req.body.newsletterEmail || false;
user.lowerLimitEmail = req.body.lowerLimitEmail || false;
user.featuresEmail = req.body.featuresEmail || false;
user.assetOut180 = req.body.assetOut180 || false;
user.lowerLimit = req.body.lowerLimit || false;
user.save(function(err) {
if (err) return (err);
req.flash('success', { msg: 'Notification Settings Updated.' });
res.redirect(req.redirect.success);
});
});