반응형
if (true/false) {
  //btn btnJoin
  //css .NO_Access
  $("#btnJoin").removeAttr("disabled");
  $("#btnJoin").removeClass("NO_Access");
} else {
  $("#btnJoin").attr("disabled","disabled");
  $("#btnJoin").addClass("NO_Access");
}

 

css 

.NO_Access {cursor: not-allowed;opacity:.65;}

 

간략요약

disable 쓰려고 만들어서 한거같은데 기억은 나지 않음..

그냥 attr disable 써서 input 혹은 원하는 데이터 셀렉터해서 disable 하세요.

반응형
function _fnRemoveSC_ExceptDot() {

    if ((event.keyCode >= 123 && event.keyCode <= 130) || (event.keyCode >= 33 && event.keyCode <= 45) || event.keyCode == 47 || (event.keyCode >= 58 && event.keyCode < 64) || (event.keyCode >= 91 && event.keyCode <= 96)) {
        event.returnValue = false;
    }
}

 

간략 요약 

이메일에서 .과 @를 제외한 특수기호는 사용할 수 없게 만든 로직이였습니다.

다만 이메일에서는 다양한 특수문자를 사용 할 수 있고, 디비에서는 일정한 특수문자를 제외한 것은 사용 할 수 없기 떄문에 만든것으로 생각이 듭니다..

반응형
//Get object 특수문자
$._fnCheckSC = function (value) {

    var vObj_SC = new Object();

    //특수문자 아스키 코드
    vObj_SC.ExclamationPoint = String.fromCharCode("33"); //!
    vObj_SC.Quotation = String.fromCharCode("34"); //"
    vObj_SC.Sharp = String.fromCharCode("35"); //#
    vObj_SC.DollarSign = String.fromCharCode("36"); //$
    vObj_SC.PercentSign = String.fromCharCode("37"); //%
    vObj_SC.Ampersand = String.fromCharCode("38"); //&
    vObj_SC.Apostrophe = String.fromCharCode("39"); //'
    vObj_SC.Lparentheses = String.fromCharCode("40"); // ( 
    vObj_SC.Rparentheses = String.fromCharCode("41"); // )    
    vObj_SC.Asterisk = String.fromCharCode("42"); // *
    vObj_SC.Plus = String.fromCharCode("43"); // +
    vObj_SC.Comma = String.fromCharCode("44"); // ,
    vObj_SC.Minus = String.fromCharCode("45"); // - 
    vObj_SC.Dot = String.fromCharCode("46"); // .
    vObj_SC.Slash = String.fromCharCode("47"); // /
    vObj_SC.Colon = String.fromCharCode("58"); // :
    vObj_SC.Semicolon = String.fromCharCode("59"); // ;
    vObj_SC.LAngle = String.fromCharCode("60"); // <
    vObj_SC.Equal = String.fromCharCode("61"); // =
    vObj_SC.RAngle = String.fromCharCode("62"); // >
    vObj_SC.Question = String.fromCharCode("63"); // ?
    vObj_SC.Sign = String.fromCharCode("64"); // @
    vObj_SC.LBracket = String.fromCharCode("91");  // [
    vObj_SC.BackSlash = String.fromCharCode("92");  //\
    vObj_SC.RBracket = String.fromCharCode("93"); // ]
    vObj_SC.Circumflex = String.fromCharCode("94"); // ^
    vObj_SC.Underline = String.fromCharCode("95"); // _
    vObj_SC.Grave = String.fromCharCode("96"); // '
    vObj_SC.LBrace = String.fromCharCode("123"); // {
    vObj_SC.VerticalBar = String.fromCharCode("124"); // |
    vObj_SC.RBrace = String.fromCharCode("125"); // } 
    vObj_SC.Tilde = String.fromCharCode("126"); // ~
};

 

간략 요약

특수문자 아스키 코드로 작성하여 필요한 것만 쓰는것으로 만든 함수입니다.

어디다가 쓸지는 잘 모르겠네요.. 왜 만든거지 ㅋㅋ

 

반응형

부모 쪽

$(window).load(function() {
       sendMsg();
    });

    function sendMsg() {
        vSendData = vEmail + "^" + vComCode + "^" + vDomain + "^" + vPwd;  //보내는 데이터
        document.getElementById('sof').contentWindow.postMessage(vSendData, 'url');
    }

 

자식 쪽

//Get Data
        bind(window, 'message', function (e) {

            //Get data
            var get = new Object();

            //vEmail=Email^vEmail=CompanyCode          
            //alert(e.data);

            try {
                //데이터 유무 확인
                if (e.data != null || e.data != "") {

                    var vResult = e.data;

                    var ret = vResult.substr(0).split("^");

                    for (var i = 0; i < ret.length; i++) {
                        var r = ret[i].split("=");
                        get[r[0]] = r[1];
                    }

                    //변수 확인
                    if (get["vEmail"] == null || get["vEmail"] == "") {
                        throw "[Error]E-Mail : (" + get["vEmail"] + ")";
                    }
                    else if (get["vComCode"] == null || get["vComCode"] == "") {
                        throw "[Error]Company Code : (" + get["vComCode"] + ")";
                    }
                    else if (get["vDomain"] == null || get["vDomain"] == "") {
                        throw "[Error]Domain Info  : (" + get["vDomain"] + ")";
                    }
                    else if (get["vPwd"] == null || get["vPwd"] == "") {
                        throw "[Error]Password Info  : (" + get["vPwd"] + ")";

                    }
                    else {
                        fnAutoSearchData(get);

                        //Check Success 
                        
                        //test Data
                        //$('#email').val() = get["vEmail"] + "/" + get["vComCode"];
                        //document.getElementById("email").value = get["vEmail"] + "/" + get["vComCode"];
                    }
                }
            } catch (e) {
                alert(e);
                console.log(e);
            }
        });

        function bind(elem, type, handler, capture) {
            type = typeof type === 'string' && type || '';
            handler = handler || function () { ; };

            if (elem.addEventListener) {
                elem.addEventListener(type, handler, capture);
            }
            else if (elem.attachEvent) {
                elem.attachEvent('on' + type, handler);
            }

            return elem;
        };

 

간략 요약

부모 창의 데이터를 자식 창의 데이터로 옮기는 작업

하지만 크로스 도메인의 이슈 때문에 지금은 사용 못하는 것으로 확인 됩니다.

반응형

※ keyup 이벤트에 꼭 넣어야됩니다. 

$(input태그).keyup(function (e) {
  if (!(e.keyCode >= 37 && e.keyCode <= 40)) {
    var v = $(this).val();
    //$(this).val(v.replace(/[^a-z0-9]/gi, ''));
    $(this).val(v.replace(/[^0-9]/gi, ''));
  }
});

간략 요약 : KeyEvent를 체크하고 replace를 0-9 제외한 모든 문자를 삭제하는 로직을 넣었습니다.

+ Recent posts