代码之家  ›  专栏  ›  技术社区  ›  espresso_coffee

在我点击提交按钮之前是否触发模糊功能?

  •  0
  • espresso_coffee  · 技术社区  · 6 年前

    我有一个表单字段需要唯一的代码值。当用户尝试输入新记录或更新现有记录时,我必须检查数据库中是否已经存在此代码。我提出了一个解决方案,我使用模糊函数发送Ajax调用,然后返回 true false 这意味着该值已经存在,如果 是的 他们可以保存记录。下面是我的函数示例:

    $('.check-code').on('blur',checkCode);
    function checkCode(e) {
        e.preventDefault();
        var element = $(this).get(0), // Dom element
            fldVal = $(this).val(), // Field value
            isValid; // Flag variable.
    
        if(!fldVal){
            isValid = false
            return;
        }
    
        $.ajax({
            type: 'POST',
            url: 'AjaxFunctions.cfc?method=checkCode',
            data: {'fldVal':fldVal},
            dataType: 'json'
        }).done(function(obj){
            if(obj.STATUS === 200){
                if(obj.RESULT === true){
                    isValid = true;
                    element.setCustomValidity("");
                }else{
                    isValid = false;
                    element.setCustomValidity(obj.MESSAGE);
                }
            }else{
                $('#frm_message').show().addClass(obj.CLASS).html(obj.MESSAGE).delay(7000).fadeOut('slow').queue(function(){
                    $(this).removeClass(obj.CLASS).dequeue();
                });
            }
        }).fail(function(jqXHR, textStatus, errorThrown){
            alert('Error: '+errorThrown);
        });
    }
    
    //This function submits the form
    $('.frm-Submit').on('submit', submitFrm);
    function submitFrm(e){
        e.preventDefault(); // Prevnts default form submit.
    
        var frmID = formData = $(this).serialize();
    
            $.ajax({
                type: 'POST',
                url: 'AjaxFunctions.cfc?method=saveFrm',
                data: formData,
                dataType: 'json'
            }).done(function(obj){
                if(obj.STATUS === 200){
                    //Success.
                }else{
                    //Failed.
                }  
            }).fail(function(jqXHR, textStatus, errorThrown){
                alert('Error: '+errorThrown);
            });
    }
    

    0 回复  |  直到 6 年前