2013-03-05 32 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