2013-03-05 27 views
1

我有这种形式,我无法找到一种方法来返回数组中的结果。如何做呢?我试图获得这种形式的结果,所以我可以将它们保存为一个在MongoDB文档中的字段。我知道保存它的过程,但不知道如何以有用的方式检索它。在node.js和jade上解析多个复选框的结果

form.form-inline(type = 'checkbox', action='/settings', method='post') 
    label.checkbox.inline 
     input#inlineCheckbox1(type='checkbox',value='en') 
     | English 
    label.checkbox.inline 
     input#inlineCheckbox2(type='checkbox',value='ger') 
     | German 
    label.checkbox.inline 
     input#inlineCheckbox3(type='checkbox',value='spa') 
     | Spanish 
    label.checkbox.inline 
     input#inlineCheckbox3(type='checkbox',value='it') 
     | Italian 
    label.checkbox.inline 
     input#inlineCheckbox3(type='checkbox',value='jap') 
     | Japanese 
    p 
     button.btn(type='submit') Save 

UPDATE

我用的服务器 VAR ARR = Object.keys(req.body) 但我只得到 '英语',并没有别的...

+0

你在服务器端看到的结果是什么?您可能需要在每个复选框的设置中指定'name ='languages []''。 – robbrit 2013-03-05 16:15:01

+0

当我尝试保存每个复选框的值时,我会得到未定义的值,或者在尝试获取纯文本req.body时显示为空{}。我知道我必须通过他们循环获取检查的价值观,但不知道如何... – anges244 2013-03-05 16:29:58

回答

2
  1. 表单类型不应该是“复选框”。
  2. 为每个复选框命名。
  3. 使用req.body中的指定名称(它们应该是true/undefined)。
+0

您可以请示例解释一下吗?我得到了点2和3,但我也不应该使用form.form-inline(type ='checkbox',action ='/ settings',method ='post')? – anges244 2013-03-05 17:50:50

+0

表单没有正式的'type'属性。只要删除那一点。 – 2013-03-05 17:57:08

+0

是的,这是一个很好的答案!有用!!!朋友,谢谢!!!也感谢robbrit的尝试! – anges244 2013-03-05 18:04:27