【发布时间】:2017-01-29 15:53:19
【问题描述】:
我想做的是从表单中获取数据 但是表单是动态生成的,所以我不知道会出现多少行。 所以对于我的表单(使用 ejs)
<form action="/attendance-data" method="post">
<% var i=0 %>
<% rows.forEach(function(item){ %>
<% i=i+1 %>
<tr>
<td><%= i+"." %></td>
<td id="uan<%= i %>"> <%= item.uan %> </td>
<td><%= item.name %></td>
<td><%= item.designation %></td>
<td><input type="text" name="attendance<%= i %>" ></td>
</tr>
<% }); %>
<input type="submit" value="submit" />
</form>
这里 i 从 1 变为 10 或任何数据长度。 所以,例如 表单名称来自出席1、出席2、出席3、.....
在我使用的服务器端
app.post('/attendance-data',function(req,res){
var daysPresent;
var attendance;
for(var i=1;i<=numberOfEmployees;i++){
attendance = "attendance"+i;
daysPresent = req.body.attendance;
console.log('attendance is :',attendance);
console.log('days present is :',daysPresent);
}
});
在这里,我想从每个循环的表单中获取当前天数的值。 所以,第一个循环,它得到 req.body.attendance1 其次它得到 req.body.attendance2 , 等等 但是当我使用变量出勤而不是出勤1和出勤2时 直接,然后我得到未定义的结果。
当我直接使用 req.body.attendance1 或 req.body.attendance2 或类似的东西时,我只会得到结果。
为什么会这样? 为什么我不能使用从出勤1、出勤2、......中获取所有值的出勤变量?
【问题讨论】:
标签: javascript node.js express ejs