我正在尝试创建一个购物网站,所以我的问题是更新购物车。 以下是EJS部分:
<% 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">
显然,所有字段都有1个提交按钮,因此在服务器端,当我req.body.pid
时,它抓住第一个pid(即1)并返回只有1而不是其他领域。是否有可能在没有ajax的情况下从输入字段获取pid-s数组?谢谢。
答案 0 :(得分:0)
不确定我是否理解正确,您只有一个pid
输入。
如果您需要多个,可以在名称中使用数组表示法,例如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>
注意我已经在表单中提交了提交按钮,因此您将获得本机提交行为。