【问题标题】:Differentiate multiple form on AJAX在 AJAX 上区分多个表单
【发布时间】:2019-02-25 06:17:00
【问题描述】:

我有一个 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页面。

非常感谢您的每一个帮助。

【问题讨论】:

    标签: javascript php ajax


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-19
      • 2017-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多