<form action="../pay/index" method="post" target="_blank" name="alipayment">
{foreach name="goods" item="vo"}
<dl class="content">
<dd>
<input id="WIDsubject" name="goods_name" value="{$vo.goods_name}" />
</dd>
<dd>
<input id="WIDtotal_amount" name="shop_price" value="{$vo.shop_price}"/>
</dd>
<dd>
<input id="WIDbody" name="goods_id" value="{$vo.goods_id}"/>
</dd>
<dt></dt>
</dl>
<input type="submit" value="点击购买" style="background-color: blanchedalmond"><br>
{/foreach}
</form>
html里 我用form提交 里面套了一个foreach 为什么每次点击购买的时候都是找到最后一个值提交 而不是我点击的那个值提交呢》???
你现在的现象是:一个form表单里面存在多个submit 按钮。而且提交按钮的属性、值都是一样的,后台是没法去做区分的。
较为简单的改法:你可以将循环放在form 表单外层试试?
因为你的提交键没和数据对应,你给提交键,也必须赋值和当前数据对应,不然谁知道你提交的是哪一行数据
原因是循环生成的表单元素的name一样,form只认最后一个
给form内的组件name加上数组