首页 > 解决方案 > 为动态创建的输入框设置输入名称

问题描述

我有一个表单,用户可以单击一个按钮并根据需要添加任意数量的输入框。

由于所有输入框都具有相同的样式,我决定通过执行以下操作将输入框附加到表单:

 $(".addParts").click(function(e){
        e.preventDefault();
        $(".fieldsWrapper").append('<div class ="row no-gutters partsBorder"><div class="col-4"><div class="row no-gutters"><div class="col-1"><button class="btn btn-danger delete" type="button"><a href="#" class="delete">X</a></button></div><div class="col"><input name="partNumber" class="typeahead parts form-control" type="text" id="partNumberInput" aria-describedby="enter Part Number" placeholder="Part Number"></div></div></div>')
    })

由于输入框都具有相同的名称,有没有办法从我的 Nodejs 后端的所有输入框中收集值?

标签: jqueryhtmlnode.js

解决方案


是的,您可以将输入框命名为数组。像,name[]

<input name="partNumber[]" class="typeahead parts form-control" type="text" id="partNumberInput" aria-describedby="enter Part Number" placeholder="Part Number">

现在,您可以使用以下方法访问这些值,

const parts = req.body.partNumber

确保您使用的是 urlencoded bodyParser 支持:

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

推荐阅读