当我提交表单时,在ajax中的不同按钮上获取相同的id

时间:2017-10-02 07:31:36

标签: php ajax laravel

Laravel Ajax无法工作我正在尝试在laravel购物车中添加产品,但我在不同的按钮上一次又一次地获得相同的ID我编辑了我的帖子请再次检查

@foreach($product_records as $row)
    <form class="cartform" method="post">
        <input type="hidden" name="_token" value="{{ csrf_token() }}">     
        <input type="hidden" name="id" value="{{ $row->serial }}" class="productid">   
        <input type="hidden" name="qty" value="1" id="qty">
        <input type="hidden" name="name" value="{{ $row->name }}" >
        <input type="hidden" name="desc" value="{{ $row->description }}" >
        <input type="hidden" name="price" value="{{ $row->price }}">
        <input type="hidden" name="size" value="{{ $row->product_size }}">
        <button type="button" class="addtocart button" value="{{ $row->serial }}">Submit</button>
    </form>
 @endforeach

$('.addtocart').click(function(e) {
    e.preventDefault();
    var url = 'addproduct';
    var formData = new FormData($('.cartform')[1]);
    $.ajax({
        method:"POST",
        url:url,
        data:formData,
        contentType:false,
        cache:false,
        processData:false,
        dataType:'json',
        async:false,
        success: function(data){

        }
    });
});

1 个答案:

答案 0 :(得分:0)

var formData = new FormData($('.cartform')[1]);

您已将您的功能硬编码为始终采用第二种形式的详细信息。

您需要注意点击了哪个按钮。

this将是事件处理程序绑定的元素。您可以使用表单控件的form属性从中获取关联的表单。

var formData = new FormData( this.form );