marongchang555
2020-07-01 23:42
采纳率: 48.4%
浏览 310
已采纳

html里 我用form提交 里面套了一个foreach 为什么每次都是找最后一个值

  <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 为什么每次点击购买的时候都是找到最后一个值提交 而不是我点击的那个值提交呢》???

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 待曦孤星 2020-07-02 08:52
    已采纳

    你现在的现象是:一个form表单里面存在多个submit 按钮。而且提交按钮的属性、值都是一样的,后台是没法去做区分的。
    较为简单的改法:你可以将循环放在form 表单外层试试?

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • 开局一个bug 2020-07-02 08:27

    因为你的提交键没和数据对应,你给提交键,也必须赋值和当前数据对应,不然谁知道你提交的是哪一行数据

    评论
    解决 无用
    打赏 举报
  • 淘人居士 2020-07-02 15:05

    原因是循环生成的表单元素的name一样,form只认最后一个

    评论
    解决 无用
    打赏 举报
  • adolfjap1 2020-07-20 13:41

    给form内的组件name加上数组

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题