javascript - 在 AJAX 上区分多个表单
问题描述
我有一个内部有多个表单的 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()
推荐阅读
- salesforce - SalesForce SOQL 大小列中的最高数字
- ios - 在 Swift 中将图层样式组合到多个 UIButton
- javascript - 仅当它后跟一些字符串时才由分隔符分割
- android - recyclerview滚动和viewpager滑动之间的冲突
- java - 如何配置 ORMLite 以将 `byte[]` 保存为 DataType.BYTE_ARRAY?
- python - Flask 和 Google Calendar API 身份验证问题
- c# - 根据条件隐藏数据网格中的列
- javascript - javascript过滤器应用程序无法正常工作所有未处理的uls
- python - NP 阵列的形状为 (2186, 128)。我有兴趣将获得的数组应用于 SVM
- android - RecyclerView 刷新列表