我有一个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页面的情况下实现表单提交。
非常感谢您的帮助。
答案 0 :(得分:1)
尝试将此data: $("[id^=form_]").serialize(),
更改为
data: $(this).closest('form').serialize()