一个页面中的多个表单或多个提交? [英] Multiple Forms or Multiple Submits in a Page?

查看:18
本文介绍了一个页面中的多个表单或多个提交?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建一个页面,其中包含网站上销售的产品.我想在每个产品附近添加一个添加到购物车"按钮,这些按钮的标记如下:

产品名称 1

<div>关于产品的额外信息 1.

<h4 class="productHeading">产品名称 2</h4><div>产品的额外信息 2.

...

由于提交输入将具有不同的名称(包括产品的代码),最大的问题是:我应该将整个产品列表包装在一个表单中,还是应该为每个产品创建一个表单?在代码中:

<h4 class="productHeading">产品名称 1</h4><div>关于产品的额外信息 1.<input type="submit" name="submit1" value="加入购物车">

<h4 class="productHeading">产品名称 2</h4><div>产品的额外信息 2.<input type="submit" name="submit2" value="加入购物车">

</表单>

或者……

产品名称 1

<div>关于产品的额外信息 1.<form method="post" action="process.php"><input type="submit" name="submit1" value="加入购物车"></表单>

<h4 class="productHeading">产品名称 2</h4><div>产品的额外信息 2.<form method="post" action="process.php"><input type="submit" name="submit2" value="加入购物车"></表单>

哪个是最佳实践?有什么严重的理由不使用其中一个,还是我这样做完全错误?

解决方案

最佳实践:每个产品一个表单绝对是最佳选择.

优点:

<小时>

根据您的具体情况

如果您只打算拥有一个表单元素,在这种情况下是一个 submit 按钮,那么一个表单应该可以正常工作.

<小时>

我的推荐为每个产品制作一个表格,并将您的标记更改为:

<input type="hidden" name="product_id" value="123"><button type="submit" name="action" value="add_to_cart">加入购物车</button></表单>

这会给你一个更干净和可用的POST.没有解析.并且它将允许您在未来添加更多参数(尺寸、颜色、数量等).

<块引用>

注意:使用