我有一个脚本从MySQL加载数据然后我为每个结果集生成一个div。在每个div中我加载几个数据并生成一个表单。我遇到的问题是脚本是从第一个表单提交数据。
这里是代码:
<script>
function getitems(){
$.ajax({
type: 'POST',
url: 'userAction.php',
data: 'action_type=view&'+$("#userForm").serialize(),
success:function(html){
$('#userData').html(html);
}
});
}
function userAction(type,id){
id = (typeof id == "undefined")?'':id;
var statusArr = {add:"added",edit:"updated",delete:"deleted"};
var userData = '';
if (type == 'add') {
userData = $("#addForm").find('#userForm'+id).serialize()+'&action_type='+type;
}else{
userData = 'action_type='+type+'&id='+id;
}
$.ajax({
type: 'POST',
url: 'userAction.php',
data: userData,
success:function(msg){
if(msg == 'ok'){
getitems();
$('.form')[0].reset();
}else{
alert('Hubo un problema, intentar de nuevo!');
}
}
});
}
</script>
形式:
<form class="form" id="userForm<?php echo $r['id']; ?>">
<div class="form-group col-xs-7">
<label>Descripcion</label>
<input type="text" class="form-control" name="item_prt" id="item_prt"/>
</div>
<div class="form-group col-xs-3">
<label>Precio</label>
<input type="text" class="form-control" name="precio_prt" id="precio_prt"/>
</div>
<input type="text" class="form-control" name="idserv_prt" id="idserv_prt" value="<?php echo $orden;?>" />
<a href="javascript:void(0);" class="glyphicon glyphicon-plus" id="addLink" onclick="userAction('add', '<?php echo $r['id']; ?>')"></a>
</form>
我需要区分每个表单,因为所有表单都是从mysql结果中生成的。所以,如果我提交第一个表格,它可以正常工作,但是当我提交另一个表格时,它也会提交第一个表格。
如果我只有一种形式,那么一切正常。
谢谢!
答案 0 :(得分:0)
您需要添加以下表单ID:
...
if (type == 'add') {
userData = $("#addForm").find('#userForm'+id).serialize()+'&action_type='+type;
// ----------------------------------------^
}else{
...
当你调用userAction()函数时,只需添加第二个参数wish就是ID:
<a href="javascript:void(0);" class="glyphicon glyphicon-plus" id="addLink" onclick="userAction('add', <?php echo $orden; ?>)"></a>