>

이 코드와 혼동되지 않습니다. 데이터를 자동으로 삽입하는이 아약스 코드를 읽고 있습니다. 그러나 혼란스러운 것은이 줄 if(result=='12') then trigger ajax 입니다  12는 12 일 전에 왜 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');
                }
            });
        }
    });


  • 답변 # 1

    해설에서 설명했듯이 예제를 원했기 때문에. 이것이 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');
            }
        });
    });
    
    

  • 답변 # 2

    값의 존재를 확인하고 문자열을 추가하는 것입니다.

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

    이것은 빈 이름을 확인하고 이름이 비어 있으면 오류를 추가합니다. 그렇지 않으면 그것은 1 를 연결  결과.

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

    이것은 빈 주소를 확인하고 주소가 비어 있으면 오류를 추가합니다. 그렇지 않으면 그것은 2 를 연결  결과.

    따라서 둘 다 비어 있지 않으면 결과는 12 입니다.  그리고 당신 만이 아약스를 호출하는 것보다 다른 방법으로 오류를 표시하십시오.

관련 자료

  • 이전 python - cv2 문제 - numpycoremultiarray를 가져 오지 못했습니다
  • 다음 android - Zygote가 Java 레벨에서 소켓을 작성하는 이유는 무엇입니까?