【发布时间】:2015-03-03 17:13:05
【问题描述】:
我在完成我认为很简单的任务时遇到了很多麻烦。我已经查看了 SO 和各种文档,但我尝试的任何方法似乎都不起作用,因此我想在这里发布。
我要做的是处理我的 html 表单(通过 JADE 模板化),并将来自特定输入 (name="ListContent[]") 的所有数据保存到单个数组中,每个数组中都有一个值输入。我需要采用这种方法,因为 listContent 输入的数量是动态的,我不知道需要处理多少。
我的表单看起来像这样:
<form method='post'>
<input name='listTitle'></br>
<input name='listDescription'></br>
<input name='listContent[]'></br>
<input name='listContent[]'></br>
...
...
<input name='listContent[]'></br>
<input name='listContent[]'></br>
<input name='listContent[]'></br>
<button type='button' onClick='addInput('listContent');'>
<button type='submit'>
</form>
这被渲染成这样的形式;
我能够按如下方式检索 listName 和 listDescription 的 POST 值,但我不知道如何处理 listContent 并将所有输入保存到一个数组中,例如:
"{'第 1 行', '第 2 行', '第 3 行'}"
var listName = form.data.listName; // Works
var description = form.data.listDescription; // Works
var contentRaw = form.data.listContent; // Just returns blank
任何建议将不胜感激。谢谢!
编辑: 我正在使用 npm 表单 (https://www.npmjs.com/package/forms) 来解析/处理我的表单数据。我定义的表单架构如下:
var simpleNewListForm = forms.create({
listToken: forms.fields.string({
required:true
}),
listName: forms.fields.string({
required: true
}),
listDescription: forms.fields.string({
required: true
}),
listContent: forms.fields.array(),
});
【问题讨论】:
标签: javascript arrays node.js express