Проблема с утверждениями в inputs динамические с ajax?

у меня есть проблема, у меня есть код, чтобы производить inputs динамические, который он в свою очередь посылает в функцию в laravel, чтобы вводить несколько реестров одновременно в базе данных.

Это код, который производит inputs

$(document).ready(function() {

        var c = 100;
        $('#addCat').on('click',function(e){
            e.preventDefault();

        var formularioCat =  '<div  class="form-group CategoriaDinamica" >';
            formularioCat+=         '<label for="categoria" class="col-md-4 control-label">Categoria '+c+'</label>';
            formularioCat+=          '<div class="col-md-6">';

            formularioCat+=              ' <input  class="form-control" name="categoriadinamica[]" type="text" value="">';                      
            formularioCat+=          ' </div>';                            
            formularioCat+=   ' </div>';   


            $(formularioCat).hide().insertBefore('#botonenvio').fadeIn(500);

            c++;

        })

        $('#removeCat').on('click',function(r){
            r.preventDefault();
            $('#botonenvio').prev().remove();


        })

У меня есть этот код для будущих утверждений

this.addynotificacion = function(campoaiterar,nombrearray,estado,mensaje){
    $(campoaiterar).each(function(i) {
            nombrearray.push($(this).val());
                if(nombrearray[i]=='')
                    {
                         $('.jumbotron').before(notificacion(estado,mensaje));  

                        return false;
                    }   

        });


}

И это функция ajax

$(document).ready(function() {
    $('#bsubmit').click(function(e){

        e.preventDefault();
        var rutaCompleta = 'http://localhost/ficheros/public/admin/categorias';

        var namecatdin = $('input[name="categoriadinamica[]"]');
        var datos = [];


                addynotificacion(
                namecatdin,
                datos,
                'danger',
                'NO PUEDES DEJAR UNA CATEGORIA EN BLANCO :: LAS SIGUIENTES NO SE INSERTARAN');

            $.ajax({
                    url: rutaCompleta,
                    method: 'POST',
                    data: {'datosarray':datos},
                    headers: { 'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content') },
                })
                .done(function(datosarray) {
                    console.log("success_creacion_"+$.type(datosarray));
                    var muchosdata = [];
                    addynotificacion(
                        namecatdin,
                        muchosdata,
                        'success',
                        'REGISTRO ..:: '+muchosdata[i]+' ::.. CREADO CORRECTAMENTE'
                        );          


                    })
                .fail(function(x) {
                    console.log(' nombre_error: '+x.errorThrown);
                })
                .always(function() {
                    console.log("complete");
                });

    })
});

Проблема состоит в том, что я думаю, что со мной не случается, как помещение утверждения, так как, если бы это был единственный неудар в лунку, который было нужно вводить в bbdd, не было бы проблемы, но с больше одного он бьет козырем меня, делает мне первое утверждение хорошо и потом вводит мне реестры в следующих, в этом случае утверждение подтверждает, что реестр не был в мишени, так как первый реестр это не вводит в базу данных, но все он вводит следующих как символы в мишень, идея obviamene состоит в том, чтобы помещать больше утверждений, но сначала оно я должно функционировать с первой, и что оценил все реестры и потом utilize функция ajax.

Потом как что-то отдельное

Эта функция дает мне эту ошибку

this.addynotificacion = function(campoaiterar,nombrearray,estado,mensaje){
        $(campoaiterar).each(function(i) {
                nombrearray.push($(this).val());
                    if(nombrearray[i]=='')
                        {
                             $('.jumbotron').before(notificacion(estado,mensaje));  

                            return false;
                        }   

            });


    }

ReferenceError: i is not defined

Как я могу размещать это, чтобы это использовать правильно в другой функции?

Спасибо за ваше время.

1
задан 30.12.2016, 19:27
0 ответов

Друг в твой неудар в лунку ты должен размещать класс, чтобы обращаться. и each применяться это в ту же самую. как например:

$('.checked').each(function(){
     $(this).attr('id');
});

в функции, которая разместила тебя, ты пробегаешь все те, у кого был бы класс "checked", и из каждой ты берешь этот объект и можешь извлекать стоимость, которую ты желаешь. после того, как имеешь стоимость ты можешь посылать это ему в функцию ajax один за один или можешь делать .push в array, чтобы посылать полный array.

он пробует не размещать в маршруте полный маршрут. только маршрут страницы, которую ты размещаешь в Route::get('categorias'); помни, что ты так избегаешь менять маршруты, перейдя в производство, или которые быть должен делать изменения.

Я надеюсь, что он служит тебе помощью.

0
ответ дан 03.12.2019, 17:55

Теги

Похожие вопросы