php - 如何使用ajax将数据从动态添加的表单发送到php
问题描述
我创建了一个动态表单,其中包含来自 MySQL 数据库的数据,并且效果很好。问题是,我不知道如何让 ajax 读取表单。
假设下面的代码是一个单一的形式:
<form>
<!-- input type content here -->
</form>
它的等效 ajax 代码将是:
$(document).ready(function(
$.ajax({
url: 'url',
data: $("#frm").serialize();
//insert more code...
});
))
如果我的表单是这样动态添加的怎么办:
<?php while($row = $result->fetch_assoc()){
<!-- insert code for dynamic grid see sample link [here][1]
<form>
<input type="radio" name="rate" value="1">
<input type="radio" name="rate" value="2">
<input type="radio" name="rate" value="3">
<input type="text" name="name" value="<?php echo $row['p_name']?>"
<input type="text" name="price" value="<?php echo $row['p_price']?>"
</form>
}?>
如果我的表单是动态创建的,我将如何获取这些数据?我什至必须在我的表单中添加一个数组符号,例如<form name="myFrm[]"
?如果是这样,我什至怎么称呼它为ajax?
解决方案
请尝试以下解决方案。
使用自动增量变量动态设置表单 ID。
<?php $i=1; while($row = $result->fetch_assoc()){
<!-- insert code for dynamic grid see sample link [here][1]
<form id="frm<?php echo $i;?>">
<input type="radio" name="rate" value="1">
<input type="radio" name="rate" value="2">
<input type="radio" name="rate" value="3">
<input type="text" name="name" value="<?php echo $row['p_name']?>">
<input type="text" name="price" value="<?php echo $row['p_price']?>">
<input type="button" name="button" value="click" class="common_submit_btn">
</form>
$i++;
}?>
下面是用于在 ajax 中获取动态表单 ID 的 JavaScript 代码。
$(document).ready(function(
$(".common_submit_btn").click(function(){
//here you can get submitted form data in console.
console.log($('#'+$(this).closest('form').attr('id')).serialize());
$.ajax({
url: 'url',
data: $('#'+$(this).closest('form').attr('id')).serialize(),
//insert more code...
});
});
});
推荐阅读
- python - 在蓝图应用程序中访问 Flask 全局变量
- power-automate - Microsoft Flow - 解码“文件内容”属性(SharePoint 触发器)
- c - C 预处理多通道
- reactjs - 如果我使用 map 创建数组值,如何在 redux-form 的字段中添加初始值
- c# - SQL CE如何防止重复插入
- java - 在 Nodejs 中运行一个 jar 作为一个单独的进程
- r - R Shiny:来自函数的反应值
- android - 如何找到破坏服务的原因
- tensorflow - 如何构建 tensorflow lite benchmark_model?
- django - django many_to_many 字段删除