我有一个表单,可以同时获取不同人的信息。但是,当我需要将表单“行”分组到同一对象而不是不同的数组时,它将类似的输入/选项分组到一个数组中
这是从:
<form action="/entry" method="post" class="form-main" id="entry-form">
<div class="bg-colour">
<input type="text" class="entry-form" value="random number">
<input type="text" name="participantName" class="entry-form" placeholder="Name">
<input type="text" name="participantSurname" class="entry-form" placeholder="Surname">
<select name="participantGrade" class="entry-form">
<option value="Grade 1">Grade 1</option>
<option value="Grade 2">Grade 2</option>
<option value="Grade 3">Grade 3</option>
<option value="Grade 4">Grade 4</option>
<option value="Grade 5">Grade 5</option>
<option value="Grade 6">Grade 6</option>
<option value="Grade 7">Grade 7</option>
<option value="Grade 8">Grade 8</option>
<option value="Grade 9">Grade 9</option>
<option value="Grade 10">Grade 10</option>
<option value="Grade 11">Grade 11</option>
<option value="Grade 12">Grade 12</option>
</select>
<input type="text" name="participantSchool" class="entry-form" placeholder="School">
<input type="email" name="participantEmail" class="entry-form" placeholder="Email">
<input type="text" name="participantNumber" class="entry-form" placeholder="Number">
<button class="remove">-</button>
</div>
</form>
<button type="submit" class="entry-form-button" form="entry-form">Continue</button>
<button id="add-row">+</button>
add-row按钮生成一整行.bg-colour div中的所有内容。下面是用于此操作的JavaScript代码:
function colorMode() {
var element = document.body;
element.classList.toggle("dark-mode");
}
但是,每当数据提交时,它都会将它们排序在一个数组中,如下所示:
{ pName: [ 'Name1', 'Name2', 'Name3' ],
pSurname: [ 'Surname1', 'Surname2', 'Surname3' ],
pGrade: [ 'Grade 1', 'Grade 2', 'Grade 3' ],
School: [ 'School1', 'School2', 'School3' ],
pNumber: [ '1', '2', '3' ] }
正如你所看到的,它把所有的名字排序在一起,所有的姓氏,等等。我希望它把每一项排序在一个对象中。下面是当前的nodejs代码(没有我的混乱):
app.post('/entry', function (req, res) {
const pName = req.body.participantName;
const pSurname = req.body.participantSurname;
const pGrade = req.body.participantGrade;
const pSchool = req.body.participantSchool;
const pNumber = req.body.participantNumber;
console.log({
pName,
pSurname,
pGrade,
pSchool,
pNumber
});
res.redirect('/entry');
});
如有任何帮助,将不胜感激。
1条答案
按热度按时间zzwlnbp81#
如果你想要一个好的答案,我建议你更新你的问题。
1.更正标题-将"JsvaScript"更改为"JavaScript"
1.把你的问题简化成只说如何从选项中获取数据,放入数组中,或者更好的是,如何简单地将一种数组格式转换成另一种。
1.从表单中获取所有数据的一种有用方法:
奖金:
您可以使用此命令来帮助提取数据:
x一个一个一个一个x一个一个二个x