【问题标题】:Save mutliple form inputs of certain name into an one array with node JS (npm forms)使用节点 JS (npm forms) 将特定名称的多个表单输入保存到一个数组中
【发布时间】: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


    【解决方案1】:

    我看到您在创建表单时使用listContents,但在解析后访问它时使用listContent。当我尝试使用您显示的相同代码生成表单时,listContents 的输入名称在生成的 HTML 表单中本身就是 listContents

    【讨论】:

    • 嘿,我尝试从每个输入名称中删除“[]”,但是当返回的 listContent 只是出现“未定义”时。想法?
    • 你用什么解析请求数据?
    • node npm forms : npmjs.com/package/forms 我将使用我定义的表单模式进行更新。顺便说一句,谢谢你帮我解决这个问题。
    • 你明白了!一个简单的错误花费了我宝贵的时间。除了您的上述建议之外,这标志着一个成功的答案。干杯!
    • 好的,我把它移到了答案,因为前一个只是帮助进入了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多