我创建了一个动态表单,该表单具有来自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?
答案 0 :(得分:1)
请尝试以下解决方案。
使用自动增量变量动态设置表单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++;
}?>
下面的JavaScript代码用于在ajax中获取动态表单ID。
$(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...
});
});
});
答案 1 :(得分:0)
当前您的JavaScript说:
因此,在用户甚至没有输入数据之前,您就已经运行过$.ajax
命令,您可能想用某种事件侦听器将其包装起来,例如更改,或者添加一个提交按钮并提交数据。