2017-08-29 9 views
0

ショッピングウェブサイトを作成しようとしています。問題はカートを更新することです。だから、明らかに1私はreq.body.pidを行うとき、それは(1)最初のpidをつかんでのみ1を返します、したがって、サーバー側では、すべてのフィールドのボタンが提出しています複数の値が同じ名前がreq.bodyに送信されました

<% for (i=0;i<product.length;i++) { %> 
<form action="/update-cart" method="POST" id="update-cart"> 
    <input type="text" name="quantity" value="<%= products[product[i].pid] %>" title="Qty"/> 
    <input type="hidden" name="pid" value="<%= product[i].pid %>"> 
</form> 
<%}%> 
<input type="submit" form="update-cart" value="Update Cart"> 

: はここEJSセクションです他のフィールドではありません。 ajaxなしで入力フィールドからpid-sの配列を取得することは可能ですか?ありがとうございました。

+0

フォームにあなたの 'pid'がどのように表示されているかを表示できますか?上記の例では、1つのpidだけが送信されています。 – Panther

+0

これはコードの小さなスニペットで、pidはデータベースのものです。とにかく私は明確にするために編集します。 –

+0

'ajaxを使わずに入力フィールドからpid-sの配列を取得することはできますか?'どのようにフォームを送信していますか?あなたが提出するために使っている方法は 'フォーム'の中にないからです。 – Panther

答えて

0

私が正しく理解しているかわかりませんが、pidという入力が1つしかありません。

あなたが得るので、あなたは、あなたが私は、フォーム内のボタンを提出パットきたという事実にpid[]

<form action="/update-cart" method="POST" id="update-cart"> 
    <input type="text" name="quantity" value="<%= products[product[i].pid] %>" title="Qty"/> 
    <input type="hidden" name="pid[]" value="<%= product[i].pid %>"> 
    <input type="hidden" name="pid[]" value="<%= product[i+1].pid %>"> 
    <input type="submit" form="update-cart" value="Update Cart"> 
</form> 

ご注意などの配列名で表記、何かを使用することができ、複数の必要がある場合ネイティブの送信動作。

+0

フォームの中に送信ボタンを使用することはできません。一度にすべての製品をターゲットにするためには、フォームが外になければなりません。 –

+0

また、検索してstackoverflowをチェックした後、私は名前の横に[]を使用する必要があることを認識しましたが、サーバー側はどうですか? req.body。何 ? –

関連する問題