提交时出现多表单克隆问题。提交第一个输入组
我有一个从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>
我需要区别各个形式,因为所有人都dinamically从MySQL的结果产生。所以,如果我提交第一个表单,它就可以,但是当我提交其他表单时,它也会提交第一个表单。
所有的作品好,如果我只有一种形式。
谢谢!
您需要的形式ID添加如下:
...
if (type == 'add') {
userData = $("#addForm").find('#userForm'+id).serialize()+'&action_type='+type;
// ----------------------------------------^
}else{
...
,当你调用userAction()函数,只需添加第二个参数的心愿是ID:
<a href="javascript:void(0);" class="glyphicon glyphicon-plus" id="addLink" onclick="userAction('add', <?php echo $orden; ?>)"></a>
我做到了,表格中添加了ID,但仍然无效。它仍然在寻找第一种形式... –
你能发布你的更新代码 –
你的js代码和html –
随着'$( “#addForm”)。find('。form')'您正在从第一个表单请求数据。您需要传递表单号码或实施不同。 – NotABlueWhale
编辑您的问题,更详细地解释您点击添加按钮时想要实现的功能。 – Mikey