2014-12-06 4 views
1

Я пытаюсь создать форму с несколькими флажками. Я хочу, чтобы каждый флажок имел одно имя, а значения тех, которые были отмечены, отправлены вместе с формой. Я знаю, что это можно сделать с PHP (см. this SO question), но я не могу понять, как это сделать с помощью Node.js и Express. Вот модифицированная версия моего HTML:Как можно связать флажки формы с массивом в узле?

<label><input type="checkbox" name="section[]" value="1" />Item Name</label> 
<label><input type="checkbox" name="section[]" value="2" />Item Name</label> 
<label><input type="checkbox" name="section[]" value="3" />Item Name</label> 

Когда я обрабатывать запрос POST, я попытался доступа к значениям как с req.param('section') и req.param('section[]'), но они оба возвращают неопределенными.

+0

Было бы полезно, если бы вы также разместили свой код. Различные модули разбора тела могут анализировать данные формы по-разному. – mscdex

+0

Я использую [body-parser] (https://github.com/expressjs/body-parser). – Greg

+0

Вся кодовая база находится на github, код синтаксического анализа находится вокруг [строка 102 этого файла] (https://github.com/gregthegeek/JGrader/blob/master/JGrader/routes/teacher.js#L102). – Greg

ответ

3

Если вы измените эту строку в вашем app.js:

app.use(bodyParser.urlencoded({ extended: false })); 

к:

app.use(bodyParser.urlencoded({ extended: true })); 

вы должны получить то, что вы ожидаете с req.param('section').

Смежные вопросы