我有一个里面有多种形式的php页面。

<form id="form_<?php echo $rowProduct['Product_ID'];?>">
    <a id="wh_<?php echo $rowProduct['Product_ID'];?>"><i class="fal fa-heart"></i></a>
    <input type="hidden" name="PID_<?php echo $rowProduct['Product_ID'];?>" value="<?php echo $rowProduct['Product_ID'];?>">
    <input type="hidden" name="mail_<?php echo $rowProduct['Product_ID'];?>" value="<?php echo $rowProduct['Mail'];?>">




这些形式是通过遍历MySQL上的所有数据生成的。
每个表单和输入都有按Product_ID的唯一ID。

下面是ajax脚本,用于将数据提交到数据库。

<script>
    $('[id^=wh_]').click(function(e) {
        $.ajax({
            url: 'submit.php',
            type: 'POST',
            data: $("[id^=form_]").serialize(),
            success: function(data) {
                alert('Success add item');
            }
        });
        e.preventDefault();
    });
</script>


当前,该代码可以成功地将数据插入MySql,但是无论单击哪个提交按钮,提交的数据始终是最后一个表单。
我正在使用AJAX提交那些表单,以在不刷新php页面的情况下实现表单提交。

非常感谢您的帮助。

最佳答案

尝试通过将此data: $("[id^=form_]").serialize(),更改为

data: $(this).closest('form').serialize()

09-10 10:15
查看更多