nodejs处理select表单元素

时间:2012-12-12 15:31:11

标签: node.js forms express select

我有一个(可能是非常愚蠢的)问题。 我有一个表单,我用Express提交给我的nodeJS服务器。 这与文本输入和单选按钮完美配合,但现在我必须添加一个选择。 服务器没有给出错误但是没有正确解析select。

我的代码:

<select id="chooselang">
<option value="nl" name="language">NL</option>
<option value="en" name="language">EN</option>
</select> 

我的服务器看起来像这样:

app.post('/settings', function(req, res){
// Fill JSON array with new settings
var myData = {
    ,name  : req.body.name
            ,mail : req.body.email
            ,language : req.body.language
    ,location: req.body.location
}
// Write to JSON file
fs.writeFile(configfilepath, JSON.stringify(myData, null, 4), function(err) {
    if(err) {
        res.send(500);
        console.log(err);
    } else {
        setTimeout(function () {
            res.redirect('back');
        }, 2000)
    }
}); 
});

有人可以告诉我,我做错了吗?

1 个答案:

答案 0 :(得分:8)

您可能需要在name中添加select属性并使用该属性来捕获值。

此外,只有option个值中的一个会被发送到服务器,因此如果您有意,则无需为每个选项分配name