数据被追加多次,当我提交表单形式第二次无形体刷新

问题描述 投票:0回答:1

我正在使用laravel DataTable的插件AJAX通过一个模式时,在表中追加数据。 1)。当我将数据输入其附加的表,但在同一时间,它显示了在确定年代没有数据,直到我刷新

2)。第二,当我输入数据的第二时间其附加上表中的多个时间

我想这重置模式,以检查是否是由于语气内,但仍然通过应用这种模态皮的数据,并形成重置,但在第二次输入还是数据输入多次

$('#myModal').on('hidden.bs.modal', function () {    
    $(this).find('form').trigger('reset');
    $('#myModal').data('modal', null);
    $(this).removeData();
}

$('#submitDoc').click(function(){   
    $('.doc-form').on('submit', function(e){
    var self = this;
    e.preventDefault();
    e.stopPropagation();

    var no= {{ $no }};
    token =$('input[name=_token]').val();
    name = $('input[name=name]').val();
    start_date =  $('input[name=start_date]').val();
    end_date = $('input[name=end_date]').val();
    amount = $('input[name=amount]').val();
    image =$('input[name=select_file]').val();

    $.ajax({
        type: 'POST',
        url : '{{ URL("addDoc") }}',
        contentType: false,
        processData: false,
        data: new FormData(this)
    }).done(function(data){ 
$('.docTable').append(
            "<tr>"+"<td class='text-center'>" + no++  + "</td>" +
            "<td class='text-center'>" + data.id+ "</td>"+ 
            "<td class='text-left'>" +data.name+ "</td>"+
            "<td class='text-center'>" +start_date +
            "</td>"+"<td class='text-center'>" +end_date+ "</td>"+
            "<td class='text-right'>" +'$'+ data.amount + 
            "</td>"+"<td class='text-center'>" + 
            "<i class='fa fa-camera'></i> "+ "</td>"+"</tr>");
    });

我想在表中追加的形式提交不完全刷新它的数据,这意味着在单输入多没有时间,而且当我在数据表提交记录它将使网页过滤器的记录项目

this is the screenshot of the table for reference

ajax laravel plugins datatable
1个回答
0
投票

我已经解决了我的第一个问题就是,当我在附加表中的数据记录计数器不会增加。在表中添加行的正确方法是

t.row.add( [  count++ ,
                 id + ,
                data.name,
                start_date+ ,
                end_date,
                data.amount,
            ] ).draw( false );

并添加CSS DataTable中,我们可以这样做:

var t = $(".docTable").DataTable({  
        'columnDefs': [
            {
                "targets": [0,1,3,4,6], // your case first column
                "className": "text-center",
            },
            {
                "targets": 2,
                "className": "text-left",
            },
            {
                "targets": 5,
                "className": "text-right",
            }
            ],
    }); 
© www.soinside.com 2019 - 2024. All rights reserved.