2017-01-29 44 views
0

私がしたいのは、フォームからデータを取得することです しかし、フォームが動的に生成されているので、どのくらいの行が出てくるのか分かりません。私は(EJSを使用して)を有するフォームのよう req.body - nodejsで変数を使用する方法

ここ
<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に変更したり、データの長さがあるものは何でも。 ので、たとえば フォーム名は、サーバ側でattendance1、attendance2、attendance3、.....

から行く私はここで私は現在の日の値を取得したい

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.attendance2、 を取得しますが、私は代わりに、直接attendance1とattendance2 の変数出席を使用する場合、私は結果として未定義取得req.body.attendance1 秒を取得します。

req.body.attendance1またはreq.body.attendance2などを直接使用すると、結果が得られません。

なぜこのようなことが起こりますか?私はattendance1、attendance2からすべての値を取得します出席変数を使用する理由カント 、......

答えて

2

daysPresentの値をつかんライン:

daysPresent = req.body.attendance; 

は次のようになります。

daysPresent = req.body[attendance] 
+0

OMG!出来た。 これは簡単ですか? 私はあなたをどれくらい愛しているかを言及しましたか? – faraz

+0

あなたは私のためにこれに答えることができます。 これを次のステップとしてデータベースに入れたいと思います。ので、私はちょうどコマンドを入れてください connect.query(に挿入..... ループ自体の中に? – faraz

関連する問題