данные добавляются несколько раз, когда я отправляю форму 2 раза без обновления формы - PullRequest
0 голосов
/ 03 февраля 2019

Я добавляю данные в таблицу, используя ajax в плагине с данными laravel, когда через модал.1).Когда я ввожу данные, они добавляются в таблицу, но в то же время они не отображаются в виде данных, пока я не обновлю их

2).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>");
    });

Я хочу добавить данные в таблицу при отправке формы, не обновляя их идеально, что означает не многократный ввод на одном входе, а также когда я отправляю запись в datatable itувеличивает запись записи в фильтре страниц

это скриншот таблицы для справки

1 Ответ

0 голосов
/ 04 февраля 2019

Я решил свою первую проблему, когда при добавлении данных в таблицу счетчик записей не увеличивается.Правильный способ добавить строки в таблицу:

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",
            }
            ],
    }); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...