我正在创建一个包含网站上销售的产品的页面。我想在每个产品附近添加一个“添加到购物车”按钮,其中列出的标记类似于:
<h4 class="productHeading">Product Name 1</h4>
<div>
Extra information on the product 1.
</div>
<h4 class="productHeading">Product Name 2</h4>
<div>
Extra information on the product 2.
</div>
...
由于提交输入将具有不同的名称(包含产品的代码),最大的问题是:我应该将整个产品列表包装在一个表单中,还是应该为每个产品创建一个表单?在代码中:
<form method="post" action="process.php">
<h4 class="productHeading">Product Name 1</h4>
<div>
Extra information on the product 1.
<input type="submit" name="submit1" value="Add to Cart">
</div>
<h4 class="productHeading">Product Name 2</h4>
<div>
Extra information on the product 2.
<input type="submit" name="submit2" value="Add to Cart">
</div>
</form>
或者...
<h4 class="productHeading">Product Name 1</h4>
<div>
Extra information on the product 1.
<form method="post" action="process.php">
<input type="submit" name="submit1" value="Add to Cart">
</form>
</div>
<h4 class="productHeading">Product Name 2</h4>
<div>
Extra information on the product 2.
<form method="post" action="process.php">
<input type="submit" name="submit2" value="Add to Cart">
</form>
</div>
哪一个是最佳做法?任何严重的理由不使用其中一个,或者我完全错了?
答案 0 :(得分:94)
最佳做法:每种产品一个表格绝对是您的选择。
优点:
在您的具体情况
如果您只打算拥有一个表单元素,在这种情况下是一个submit
按钮,那么一个表单应该可以正常工作。
我的推荐 每个产品都有一个表单,并将您的标记更改为:
<form method="post" action="">
<input type="hidden" name="product_id" value="123">
<button type="submit" name="action" value="add_to_cart">Add to Cart</button>
</form>
这将为您提供更清洁,更实用的POST
。没有解析。 和它将允许您在将来添加更多参数(大小,颜色,数量等)。
注意:使用
<button>
与<input>
没有任何技术优势,但作为程序员,我发现使用{{1}更酷比action=='add_to_cart'
。此外,我讨厌将演示与逻辑混合在一起。如果有一天你决定按钮更有意义说'#34;添加&#34;或者如果你想使用不同的语言,你可以自由地这样做,而不必担心你的后端代码。