Codeigniter & Ajax - Оператор состояния в JavaScript - PullRequest
0 голосов
/ 09 марта 2019

Я тихо запутался с этим кодом.Я читаю этот код ajax, который вставляет данные автоматически.но то, что меня смущает, это строка if(result=='12') then trigger ajax, что означает 12 , почему она должна быть 12, а затем обусловлена ​​до ajax.По-видимому, я все еще учусь, спасибо Ajax.PS это работает хорошо, но я просто перепутал с кодом

вот полный код функции создания javascript / ajax

        $('#btnSave').click(function(){
        var url = $('#myForm').attr('action');
        var data = $('#myForm').serialize();
        //validate form
        var empoyeeName = $('input[name=txtEmployeeName]');
        var address = $('textarea[name=txtAddress]');
        var result = '';
        if(empoyeeName.val()==''){
            empoyeeName.parent().parent().addClass('has-error');
        }else{
            empoyeeName.parent().parent().removeClass('has-error');
            result +='1'; //ALSO THIS NUMBER 1 WHY SHOULD IT BE 1?
        }
        if(address.val()==''){
            address.parent().parent().addClass('has-error');
        }else{
            address.parent().parent().removeClass('has-error');
            result +='2'; //ALSO THIS NUMBER 2 WHY SHOULD IT BE 2?
        }

        if(result=='12'){   //HERE IS WHAT IM CONFUSED
            $.ajax({
                type: 'ajax',
                method: 'post',
                url: url,
                data: data,
                async: false,
                dataType: 'json',
                success: function(response){
                    if(response.success){
                        $('#myModal').modal('hide');
                        $('#myForm')[0].reset();
                        if(response.type=='add'){
                            var type = 'added'
                        }else if(response.type=='update'){
                            var type ="updated"
                        }
                        $('.alert-success').html('Employee '+type+' successfully').fadeIn().delay(4000).fadeOut('slow');
                        showAllEmployee();
                    }else{
                        alert('Error');
                    }   
                },
                error: function(){
                    alert('Could not add data');
                }
            });
        }
    });

Ответы [ 2 ]

0 голосов
/ 09 марта 2019

Как я объяснил в моих комментариях, и так как вы хотели пример. Вот как я буду действовать, чтобы не проверять result == '12':

$('#btnSave').click(function()
{
    var url = $('#myForm').attr('action');
    var data = $('#myForm').serialize();

    // Validate form
    var empoyeeName = $('input[name=txtEmployeeName]');
    var address = $('textarea[name=txtAddress]');
    var formValid = true;

    if (empoyeeName.val() == '')
    {
        empoyeeName.parent().parent().addClass('has-error');
        formValid = false;
    }
    else
    {
        empoyeeName.parent().parent().removeClass('has-error');
    }

    if (address.val() == '')
    {
        address.parent().parent().addClass('has-error');
        formValid = false;
    }
    else
    {
        address.parent().parent().removeClass('has-error');
    }

    // If form is not valid, return here.

    if (!formValid)
        return;

    // Otherwise, do the ajax call...

    $.ajax({
        type: 'ajax',
        method: 'post',
        url: url,
        data: data,
        async: false,
        dataType: 'json',
        success: function(response)
        {
            if (response.success)
            {
                $('#myModal').modal('hide');
                $('#myForm')[0].reset();
                var type = '';

                if (response.type=='add')
                    type = 'added';
                else if (response.type=='update')
                    type ="updated";

                $('.alert-success').html('Employee ' + type + 'successfully')
                    .fadeIn().delay(4000).fadeOut('slow');
                showAllEmployee();
            }
            else
            {
                alert('Error');
            }   
        },
        error: function()
        {
            alert('Could not add data');
        }
    });
});
0 голосов
/ 09 марта 2019

Это просто проверка существования значений и добавление к ним строки.

if(empoyeeName.val()=='')

Эта проверка пустого имени и добавление ошибки, если имя пустое. иначе это конкат 1 к результату.

if(address.val()=='')

Эта проверка пустого адреса и добавление ошибки, если адрес пуст. иначе это конкат 2 к результату.

Так что, если они оба не пусты, это означает, что результатом будет 12, и чем только вы сделаете ajax-вызов, иначе покажите ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...