提交时多表单克隆问题。提交第一个输入组

时间:2017-02-13 22:59:26

标签: php jquery html

我有一个脚本从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结果中生成的。所以,如果我提交第一个表格,它可以正常工作,但是当我提交另一个表格时,它也会提交第一个表格。

如果我只有一种形式,那么一切正常。

谢谢!

1 个答案:

答案 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>