Codeigniter & Ajax - JavaScript 中的条件语句



我安静地与此代码混淆。我正在阅读此AJAX的代码,该代码会自动插入数据。但是,我感到困惑的是这行if(result=='12') then trigger ajax 12 是什么意思是为什么应为12,然后在Ajax之前进行条件。显然,我仍在学习Ajax,谢谢。P.S这很好,顺便说一句,我只是与代码混淆

这是创建函数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');
                }
            });
        }
    });

正如我在评论中所解释的那样,既然您想要一个例子。这是我将继续进行的方式,以避免检查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');
        }
    });
});

它只是检查值的存在,并在其上附加字符串。

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

此检查空名称并添加错误,如果名称为空。否则它会 1结果。

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

此检查空地址,如果地址为空,则添加错误。否则它会 2结果。

因此,如果它们两个都不是空的,则意味着结果将为12,而仅您进行AJAX调用ELSE显示错误。

最新更新