복붙노트

[JQUERY] 설정 사용자 지정 HTML5 필요한 필드 검증 메시지

JQUERY

설정 사용자 지정 HTML5 필요한 필드 검증 메시지

해결법


  1. 1.이 대답은 매우 많은 관심을 가지고 있기 때문에, 여기에 내가 생각 해낸 멋진 구성 조각입니다 :

    이 대답은 매우 많은 관심을 가지고 있기 때문에, 여기에 내가 생각 해낸 멋진 구성 조각입니다 :

    /**
      * @author ComFreek <https://stackoverflow.com/users/603003/comfreek>
      * @link https://stackoverflow.com/a/16069817/603003
      * @license MIT 2013-2015 ComFreek
      * @license[dual licensed] CC BY-SA 3.0 2013-2015 ComFreek
      * You MUST retain this license header!
      */
    (function (exports) {
        function valOrFunction(val, ctx, args) {
            if (typeof val == "function") {
                return val.apply(ctx, args);
            } else {
                return val;
            }
        }
    
        function InvalidInputHelper(input, options) {
            input.setCustomValidity(valOrFunction(options.defaultText, window, [input]));
    
            function changeOrInput() {
                if (input.value == "") {
                    input.setCustomValidity(valOrFunction(options.emptyText, window, [input]));
                } else {
                    input.setCustomValidity("");
                }
            }
    
            function invalid() {
                if (input.value == "") {
                    input.setCustomValidity(valOrFunction(options.emptyText, window, [input]));
                } else {
                   input.setCustomValidity(valOrFunction(options.invalidText, window, [input]));
                }
            }
    
            input.addEventListener("change", changeOrInput);
            input.addEventListener("input", changeOrInput);
            input.addEventListener("invalid", invalid);
        }
        exports.InvalidInputHelper = InvalidInputHelper;
    })(window);
    

    → jsFiddle

    <input id="email" type="email" required="required" />
    
    InvalidInputHelper(document.getElementById("email"), {
      defaultText: "Please enter an email address!",
    
      emptyText: "Please enter an email address!",
    
      invalidText: function (input) {
        return 'The email address "' + input.value + '" is invalid!';
      }
    });
    

    당신도 문자열 또는 세 가지 속성의 각각에 기능을 할당 할 수 있습니다. 당신이 기능을 지정하면, 입력 요소에 대한 참조 (DOM 노드)을 수용 할 수 있으며 다음 오류 메시지로 표시되는 문자열을 반환해야합니다.

    에서 테스트 :

    https://stackoverflow.com/revisions/16069817/6 : 현재 이전 버전을 볼 수 있습니다


  2. 2.당신은 단순히이 사용 oninvalid 속성을 달성 할 수있다, 이 데모 코드를 체크 아웃

    당신은 단순히이 사용 oninvalid 속성을 달성 할 수있다, 이 데모 코드를 체크 아웃

    <form>
    <input type="email" pattern="[^@]*@[^@]" required oninvalid="this.setCustomValidity('Put  here custom message')"/>
    <input type="submit"/>
    </form>
    

    Codepen 데모 : https://codepen.io/akshaykhale1992/pen/yLNvOqP


  3. 3.HTML :

    HTML :

    <form id="myform">
        <input id="email" oninvalid="InvalidMsg(this);" name="email" oninput="InvalidMsg(this);"  type="email" required="required" />
        <input type="submit" />
    </form>
    

    JAVASCRIPT :

    function InvalidMsg(textbox) {
        if (textbox.value == '') {
            textbox.setCustomValidity('Required email address');
        }
        else if (textbox.validity.typeMismatch){{
            textbox.setCustomValidity('please enter a valid email address');
        }
        else {
           textbox.setCustomValidity('');
        }
        return true;
    }
    

    데모 :

    http://jsfiddle.net/patelriki13/Sqq8e/


  4. 4.이 시도:

    이 시도:

    $(function() {
        var elements = document.getElementsByName("topicName");
        for (var i = 0; i < elements.length; i++) {
            elements[i].oninvalid = function(e) {
                e.target.setCustomValidity("Please enter Room Topic Title");
            };
        }
    })
    

    나는 크롬과 FF에서이 테스트는 두 브라우저에서 일했다.


  5. 5.남자, 나는 결코 HTML 5에 있다는 이루어지지했지만 나는 노력하겠습니다. 이 바이올린을 보라.

    남자, 나는 결코 HTML 5에 있다는 이루어지지했지만 나는 노력하겠습니다. 이 바이올린을 보라.

    좀 jQuery를, HTML5 기본 이벤트 및 특성과 입력 태그에 사용자 지정 특성을 (당신이 당신의 코드를 validade하려고하면이 문제가 발생할 수 있습니다) 사용하고 있습니다. 나는 모든 브라우저에서 테스트하지 않았지만, 나는 그것이 작동하지 않을 수 있습니다 생각합니다.

    이것은 jQuery로 현장 검증 자바 스크립트 코드입니다 :

    $(document).ready(function()
    {
        $('input[required], input[required="required"]').each(function(i, e)
        {
            e.oninput = function(el)
            {
                el.target.setCustomValidity("");
    
                if (el.target.type == "email")
                {
                    if (el.target.validity.patternMismatch)
                    {
                        el.target.setCustomValidity("E-mail format invalid.");
    
                        if (el.target.validity.typeMismatch)
                        {
                             el.target.setCustomValidity("An e-mail address must be given.");
                        }
                    }
                }
            };
    
            e.oninvalid = function(el)
            {
                el.target.setCustomValidity(!el.target.validity.valid ? e.attributes.requiredmessage.value : "");
            };
        });
    });
    

    좋은. 여기에 간단한 양식의 HTML은 다음과 같습니다

    <form method="post" action="" id="validation">
        <input type="text" id="name" name="name" required="required" requiredmessage="Name is required." />
        <input type="email" id="email" name="email" required="required" requiredmessage="A valid E-mail address is required." pattern="^[a-zA-Z0-9_.-]+@[a-zA-Z0-9-]+.[a-zA-Z0-9]+$" />
    
        <input type="submit" value="Send it!" />
    </form>
    

    속성 requiredmessage 내가 이야기 사용자 정의 속성입니다. 당신은 각 필수 필드는 오류 메시지가 표시됩니다 때 jQuery를 그것에서 얻을 것이다이 원인이 메시지를 설정할 수 있습니다. 당신은 jQuery를 당신을 위해 그것을 수행, 자바 스크립트에 각 필드의 권리를 설정할 필요가 없습니다. 그 정규식은 잘 될 것 같다 (그것은 당신의 테스트 @ .COM을 차단 적어도! 하하)

    당신이 바이올린에 볼 수 있듯이, 나는 형태의 이벤트를 (이 너무 document.ready에 간다) 제출의 추가 검증합니다

    $("#validation").on("submit", function(e)
    {
        for (var i = 0; i < e.target.length; i++)
        {
            if (!e.target[i].validity.valid)
            {
                window.alert(e.target.attributes.requiredmessage.value);
                e.target.focus();
                return false;
            }
        }
    });
    

    나는이 작품을 희망하거나 어쨌든 당신의 도움이됩니다.


  6. 6.이것은 나를 위해 잘 작동합니다 :

    이것은 나를 위해 잘 작동합니다 :

    jQuery(document).ready(function($) {
        var intputElements = document.getElementsByTagName("INPUT");
        for (var i = 0; i < intputElements.length; i++) {
            intputElements[i].oninvalid = function (e) {
                e.target.setCustomValidity("");
                if (!e.target.validity.valid) {
                    if (e.target.name == "email") {
                        e.target.setCustomValidity("Please enter a valid email address.");
                    } else {
                        e.target.setCustomValidity("Please enter a password.");
                    }
                }
            }
        }
    });
    

    나는 그것을 사용하고 양식 (절단) :

    <form id="welcome-popup-form" action="authentication" method="POST">
        <input type="hidden" name="signup" value="1">
        <input type="email" name="email" id="welcome-email" placeholder="Email" required></div>
        <input type="password" name="passwd" id="welcome-passwd" placeholder="Password" required>
        <input type="submit" id="submitSignup" name="signup" value="SUBMIT" />
    </form>
    


  7. 7.당신은 당신이 필요하고 적절한 메시지를 설정하는 내용에 따라, 모든 걸쳐 '무효'는 동일한 유형의 입력, 또는 단지 하나에 대한 이벤트 리스너까지이 설정을 할 수 있습니다.

    당신은 당신이 필요하고 적절한 메시지를 설정하는 내용에 따라, 모든 걸쳐 '무효'는 동일한 유형의 입력, 또는 단지 하나에 대한 이벤트 리스너까지이 설정을 할 수 있습니다.

    [].forEach.call( document.querySelectorAll('[type="email"]'), function(emailElement) {
        emailElement.addEventListener('invalid', function() {
            var message = this.value + 'is not a valid email address';
            emailElement.setCustomValidity(message)
        }, false);
    
        emailElement.addEventListener('input', function() {
            try{emailElement.setCustomValidity('')}catch(e){}
        }, false);
        });
    

    이 메시지는 이메일 주소가 수정 된 경우에도 트리거 될 방지 예 : 그렇지 않으면 양식을 제출 할 수 없습니다 때문에 스크립트의 두 번째 부분은, 유효 메시지는 초기화됩니다.

    당신이 입력에 입력을 시작하면 또한 당신은 '무효'가 트리거되기 때문에, 필요에 따라 입력 필드를 설정할 필요가 없습니다.

    여기에 대한 바이올린은 다음과 같습니다 http://jsfiddle.net/napy84/U4pB7/2/ 희망이 도움이!


  8. 8.모든 입력 태그의 속성 "제목"을 사용하고 그 위에 메시지를 작성

    모든 입력 태그의 속성 "제목"을 사용하고 그 위에 메시지를 작성


  9. 9.그냥 요소를 얻고 방법 setCustomValidity를 사용해야합니다.

    그냥 요소를 얻고 방법 setCustomValidity를 사용해야합니다.

    var foo = document.getElementById('foo');
    foo.setCustomValidity(' An error occurred');
    

  10. 10.당신은 단순히이 this.setCustomValidity ()의 EventListener를 bingding과 함께 "oninvalid = 속성을 사용하실 수 있습니다!

    당신은 단순히이 this.setCustomValidity ()의 EventListener를 bingding과 함께 "oninvalid = 속성을 사용하실 수 있습니다!

    여기 내 데모 코드입니다! (당신이 체크 아웃을 실행할 수 있습니다!)

    <메타 캐릭터 = "UTF-8"> oninvalid </ TITLE> </ head> <body> <form 조치 = "https://www.google.com.hk/webhp?#safe=strict&q="METHOD = "POST"> <입력 유형 = "이메일"자리 = "xgqfrms@email.xyz는"= ""자동 ​​완성 = ""자동 ​​초점 = ""oninvalid = "this.setCustomValidity 필요한 (`이것을 customlised 잘못된 경고 정보입니다! ')"> <input 타입 = "제출"값을 "제출"=> </ FORM> </ body> </ HTML></p> <p>http://caniuse.com/#feat=form-validation</p> <p>https://www.w3.org/TR/html51/sec-forms.html#sec-constraint-validation</p> </li> <li> <div><hr /></div><h2>11.당신은 당신의 자신의 메시지를 표시하기위한 스크립트를 추가 할 수 있습니다.</h2> <p>당신은 당신의 자신의 메시지를 표시하기위한 스크립트를 추가 할 수 있습니다.</p> <pre><code> <script> input = document.getElementById("topicName"); input.addEventListener('invalid', function (e) { if(input.validity.valueMissing) { e.target.setCustomValidity("Please enter topic name"); } //To Remove the sticky error message at end write input.addEventListener('input', function (e) { e.target.setCustomValidity(''); }); }); </script> </code></pre> <p>패턴 불일치와 같은 다른 유효성 검사를 위해 당신은 추가하면 다른 조건을 추가 할 수 있습니다</p> <p>처럼</p> <pre><code>else if (input.validity.patternMismatch) { e.target.setCustomValidity("Your Message"); } </code></pre> <p>rangeOverflow, rangeUnderflow, stepMismatch, TypeMismatch 예외 유효 같은 다른 유효 조건이 있습니다</p> </li> </ul> <p>from <a href='https://stackoverflow.com/questions/13798313/set-custom-html5-required-field-validation-message' target='_blank'>https://stackoverflow.com/questions/13798313/set-custom-html5-required-field-validation-message</a> by cc-by-sa and MIT license</p></div> <!-- System - START --> <!-- System - END --> <!-- Adfit_PC - START --> <!-- Adfit_PC - END --> <!-- GoogleAdsenseForResponsive - START --> <div class="tt_adsense_bottom" style="margin-top:30px;"> <DIV class='ads_adsense_img' style='margin:40px 0px 40px 0px;'> <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script> <!-- 디스플레이광고만 --> <ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-8393857339019314" data-ad-slot="7474886381" data-ad-format="auto"></ins> <script> (adsbygoogle = window.adsbygoogle || []).push({}); </script> </DIV> </div> <!-- GoogleAdsenseForResponsive - END --> <script onerror="changeAdsenseToAdfit()" async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9527582522912841" crossorigin="anonymous"></script> <!-- inventory --> <ins class="adsbygoogle" style="margin:50px 0; display:block" data-ad-client="ca-pub-9527582522912841" data-ad-slot="4947159016" data-ad-format="auto" data-full-width-responsive="true" data-ad-type="inventory" data-ad-adfit-unit="DAN-HCZEy0KQLPMGnGuC"></ins> <script id="adsense_script"> (adsbygoogle = window.adsbygoogle || []).push({}); </script> <script> if(window.ObserveAdsenseUnfilledState !== undefined){ ObserveAdsenseUnfilledState(); } </script> <div class="container_postbtn #post_button_group"> <div class="postbtn_like"><script>window.ReactionButtonType = 'reaction'; window.ReactionApiUrl = '//cnpnote.tistory.com/reaction'; window.ReactionReqBody = { entryId: 19766 }</script> <div class="wrap_btn" id="reaction-19766"></div> <script src="https://tistory1.daumcdn.net/tistory_admin/userblog/tistory-731a3360491e00a6248fb072186bed95b70157ac/static/script/reaction-button-container.min.js"></script><div class="wrap_btn wrap_btn_share"><button type="button" class="btn_post sns_btn btn_share" aria-expanded="false" data-thumbnail-url="https://t1.daumcdn.net/tistory_admin/static/images/openGraph/opengraph.png" data-title="[JQUERY] 설정 사용자 지정 HTML5 필요한 필드 검증 메시지" data-description="설정 사용자 지정 HTML5 필요한 필드 검증 메시지 해결법 1.이 대답은 매우 많은 관심을 가지고 있기 때문에, 여기에 내가 생각 해낸 멋진 구성 조각입니다 : 이 대답은 매우 많은 관심을 가지고 있기 때문에, 여기에 내가 생각 해낸 멋진 구성 조각입니다 : /** * @author ComFreek * @link https://stackoverflow.com/a/16069817/603003 * @license MIT 2013-2015 ComFreek * @license[dual licensed] CC BY-SA 3.0 2013-2015 ComFreek * You MUST retain this license header! */ (function (exports) { function valOrFunctio.." data-profile-image="https://t1.daumcdn.net/tistory_admin/static/manage/images/r3/default_L.png" data-profile-name="cnpnote" data-pc-url="https://cnpnote.tistory.com/entry/JQUERY-%EC%84%A4%EC%A0%95-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A7%80%EC%A0%95-HTML5-%ED%95%84%EC%9A%94%ED%95%9C-%ED%95%84%EB%93%9C-%EA%B2%80%EC%A6%9D-%EB%A9%94%EC%8B%9C%EC%A7%80" data-relative-pc-url="/entry/JQUERY-%EC%84%A4%EC%A0%95-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A7%80%EC%A0%95-HTML5-%ED%95%84%EC%9A%94%ED%95%9C-%ED%95%84%EB%93%9C-%EA%B2%80%EC%A6%9D-%EB%A9%94%EC%8B%9C%EC%A7%80" data-blog-title="복붙노트"><span class="ico_postbtn ico_share">공유하기</span></button> <div class="layer_post" id="tistorySnsLayer"></div> </div><div class="wrap_btn wrap_btn_etc" data-entry-id="19766" data-entry-visibility="public" data-category-visibility="public"><button type="button" class="btn_post btn_etc2" aria-expanded="false"><span class="ico_postbtn ico_etc">게시글 관리</span></button> <div class="layer_post" id="tistoryEtcLayer"></div> </div></div> <button type="button" class="btn_menu_toolbar btn_subscription #subscribe" data-blog-id="2840920" data-url="https://cnpnote.tistory.com/entry/JQUERY-%EC%84%A4%EC%A0%95-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A7%80%EC%A0%95-HTML5-%ED%95%84%EC%9A%94%ED%95%9C-%ED%95%84%EB%93%9C-%EA%B2%80%EC%A6%9D-%EB%A9%94%EC%8B%9C%EC%A7%80" data-device="web_pc"><em class="txt_state">구독하기</em><strong class="txt_tool_id">복붙노트</strong><span class="img_common_tistory ico_check_type1"></span></button> <div data-tistory-react-app="SupportButton"></div> </div> <!-- PostListinCategory - START --> <div class="another_category another_category_color_gray"> <h4>'<a href="/category/JQUERY">JQUERY</a>' 카테고리의 다른 글</h4> <table> <tr> <th><a href="/entry/JQUERY-%EC%96%B4%EB%96%BB%EA%B2%8C-%ED%81%AC%EB%A1%AC-%ED%99%95%EC%9E%A5%EC%97%90-jQuery%EB%A5%BC-%EC%82%AC%EC%9A%A9-%ED%95%98%EB%8A%94%EA%B0%80">[JQUERY] 어떻게 크롬 확장에 jQuery를 사용 하는가?</a>  <span>(0)</span></th> <td>2020.10.23</td> </tr> <tr> <th><a href="/entry/JQUERY-%EC%9B%B9%ED%8C%A9%EC%99%80-%EC%8B%A4%EC%A0%9C-%EC%B0%BD-%EA%B0%9C%EC%B2%B4%EC%97%90-jQuery%EB%A5%BC-%EB%85%B8%EC%B6%9C">[JQUERY] 웹팩와 실제 창 개체에 jQuery를 노출</a>  <span>(0)</span></th> <td>2020.10.23</td> </tr> <tr> <th><a href="/entry/JQUERY-%ED%8E%98%EC%9D%B4%EC%A7%80%EC%9D%98-jQuery%EB%A5%BC-%EC%8A%A4%ED%81%AC%EB%A1%A4-%EB%B0%94%EB%8B%A5">[JQUERY] 페이지의 jQuery를 스크롤 바닥</a>  <span>(0)</span></th> <td>2020.10.23</td> </tr> <tr> <th><a href="/entry/JQUERY-jQuery%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EC%8B%A4%ED%8C%A8%EC%97%90-AJAX-%EC%9A%94%EC%B2%AD%EC%9D%84-%EB%8B%A4%EC%8B%9C-%EC%8B%9C%EB%8F%84%ED%95%98%EB%8A%94-%EA%B0%80%EC%9E%A5-%EC%A2%8B%EC%9D%80-%EB%B0%A9%EB%B2%95%EC%9D%80-%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C">[JQUERY] jQuery를 사용하여 실패에 AJAX 요청을 다시 시도하는 가장 좋은 방법은 무엇입니까?</a>  <span>(0)</span></th> <td>2020.10.23</td> </tr> <tr> <th><a href="/entry/JQUERY-%EC%96%B4%EB%96%BB%EA%B2%8C-%EC%9E%90%EB%B0%94-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EB%98%90%EB%8A%94-jQuery%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EC%97%AC-%EC%83%88-%ED%83%AD%EC%97%90%EC%84%9C-URL%EC%9D%84-%EC%97%BD%EB%8B%88-%EB%8B%A4-%EB%B3%B5%EC%A0%9C">[JQUERY] 어떻게 자바 스크립트 또는 jQuery를 사용하여 새 탭에서 URL을 엽니 다? [복제]</a>  <span>(0)</span></th> <td>2020.10.23</td> </tr> </table> </div> <!-- PostListinCategory - END --> </div> <div class="entry-footer"> <div class="actionTrail"> <a href="#tb" onclick=""></a>, <a href="#rp" onclick=""></a> </div> <div data-tistory-react-app="Namecard"></div> </div> </div> </div><!-- entry close --> </article> </div><!-- container close --> <aside role="complementary" id="sidebar"> <div class="container"> <div class="sidebar-inner"> <div class="module module_plugin"> <!-- Adfit_PC - START --> <ins class="kakao_ad_area" style="display:none;" data-ad-unit = "DAN-ubre63wuo3sm" data-ad-width = "160" data-ad-height = "600"></ins> <script type="text/javascript" src="//t1.daumcdn.net/kas/static/ba.min.js" async></script> <!-- Adfit_PC - END --> </div> <!-- 검색 모듈 --> <div class="widget widget-search col-md-3 col-xs-12"> <h3><i class="icon-magnifier icons"></i> Search</h3> <input type="text" name="search" value="" onkeypress="if (event.keyCode == 13) { try { window.location.href = '/search' + '/' + looseURIEncode(document.getElementsByName('search')[0].value); document.getElementsByName('search')[0].value = ''; return false; } catch (e) {} }"/> <input value="검색" type="button" onclick="try { window.location.href = '/search' + '/' + looseURIEncode(document.getElementsByName('search')[0].value); document.getElementsByName('search')[0].value = ''; return false; } catch (e) {}" class="btn btn-default btn-sm"/> </div> <!-- 카테고리 모듈 --> <div class="widget widget-category col-md-3 col-xs-12"> <h3><i class="icon-direction icons"></i> 카테고리</h3> <ul class="tt_category"><li class=""><a href="/category" class="link_tit"> 분류 전체보기 </a> <ul class="category_list"><li class=""><a href="/category/PHP" class="link_item"> PHP </a></li> <li class=""><a href="/category/%EC%8A%A4%ED%81%AC%EB%9E%98%EC%B9%98%203.0" class="link_item"> 스크래치 3.0 </a></li> <li class=""><a href="/category/PYTHON" class="link_item"> PYTHON </a></li> <li class=""><a href="/category/SPRING" class="link_item"> SPRING </a></li> <li class=""><a href="/category/HADOOP" class="link_item"> HADOOP </a></li> <li class=""><a href="/category/SCALA" class="link_item"> SCALA </a></li> <li class=""><a href="/category/MONGODB" class="link_item"> MONGODB </a></li> <li class=""><a href="/category/REDIS" class="link_item"> REDIS </a></li> <li class=""><a href="/category/RUBY-ON-RAILS" class="link_item"> RUBY-ON-RAILS </a></li> <li class=""><a href="/category/SQL" class="link_item"> SQL </a></li> <li class=""><a href="/category/NODEJS" class="link_item"> NODEJS </a></li> <li class=""><a href="/category/JQUERY" class="link_item"> JQUERY </a></li> <li class=""><a href="/category/ANDROID" class="link_item"> ANDROID </a></li> <li class=""><a href="/category/SWIFT" class="link_item"> SWIFT </a></li> <li class=""><a href="/category/HTML" class="link_item"> HTML </a></li> <li class=""><a href="/category/CSS" class="link_item"> CSS </a></li> <li class=""><a href="/category/REACTJS" class="link_item"> REACTJS </a></li> <li class=""><a href="/category/VUEJS" class="link_item"> VUEJS </a></li> <li class=""><a href="/category/WORDPRESS" class="link_item"> WORDPRESS </a></li> <li class=""><a href="/category/ANGULAR" class="link_item"> ANGULAR </a></li> <li class=""><a href="/category/MICROSERVICE" class="link_item"> MICROSERVICE </a></li> <li class=""><a href="/category/DJANGO" class="link_item"> DJANGO </a></li> <li class=""><a href="/category/FLASK" class="link_item"> FLASK </a></li> <li class=""><a href="/category/APACHE" class="link_item"> APACHE </a></li> <li class=""><a href="/category/GO" class="link_item"> GO </a></li> <li class=""><a href="/category/JAVA" class="link_item"> JAVA </a></li> <li class=""><a href="/category/FLUTTER" class="link_item"> FLUTTER </a></li> <li class=""><a href="/category/REACTIVE" class="link_item"> REACTIVE </a></li> <li class=""><a href="/category/SPA" class="link_item"> SPA </a></li> </ul> </li> </ul> </div> <!-- 태그목록 모듈 --> <div class="widget widget-tag col-md-3 col-xs-12"> <h3><i class="icon-tag icons"></i> 태그목록</h3> <ul> <li><a href="/tag/spring" class="cloud1"> spring</a></li> <li><a href="/tag/PYTHON" class="cloud3"> PYTHON</a></li> <li><a href="/tag/spring-mvc" class="cloud4"> spring-mvc</a></li> <li><a href="/tag/sql" class="cloud2"> sql</a></li> <li><a href="/tag/php" class="cloud4"> php</a></li> <li><a href="/tag/java" class="cloud2"> java</a></li> <li><a href="/tag/HADOOP" class="cloud3"> HADOOP</a></li> <li><a href="/tag/mysql" class="cloud4"> mysql</a></li> <li><a href="/tag/javascript" class="cloud4"> javascript</a></li> <li><a href="/tag/jQuery" class="cloud4"> jQuery</a></li> </ul> </div> <!-- 최근 포스트 모듈 --> <div class="widget widget-post col-md-3 col-xs-12"> <h3><i class="icon-list icons"></i> 최근에 올라온 글 </h3> <ul> </ul> </div> </div> </div> </div><!-- container close --> </aside><!-- sidebar close --> <footer role="contentinfo"> <div class="container"> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-12 footer-menu"> <a href="https://cnpnote.tistory.com/tag"><i class="icon-tag icons"></i> </a> <a href="https://cnpnote.tistory.com/rss" onclick="window.open(this.href); return false"><i class="icon-feed icons"></i> </a> </div> <div class="col-xs-12 col-sm-12 col-md-12 footer-copyright text-right"> <a href="https://cnpnote.tistory.com/"> cnpnote</a>'s Blog is powered by <a href="http://daum.net" onclick="window.open(this.href); return false">Daumkakao</a> / Designed by <a href="http://ongal.tistory.com">CEOSEO</a> </div> </div> </div> </footer> <!-- jQuery --> <script src="https://tistory1.daumcdn.net/tistory/2840920/skin/images/jquery-1.11.0.min.js?_version_=1583344392"></script> <div class="#menubar menu_toolbar "> <h2 class="screen_out">티스토리툴바</h2> <div class="btn_tool"><button class="btn_menu_toolbar btn_subscription #subscribe" data-blog-id="2840920" data-url="https://cnpnote.tistory.com" data-device="web_pc"><strong class="txt_tool_id">복붙노트</strong><em class="txt_state">구독하기</em><span class="img_common_tistory ico_check_type1"></span></button></div></div> <div class="#menubar menu_toolbar "></div> <div class="layer_tooltip"> <div class="inner_layer_tooltip"> <p class="desc_g"></p> </div> </div> <iframe id="editEntry" style="position:absolute;width:1px;height:1px;left:-100px;top:-100px" src="//cnpnote.tistory.com/api"></iframe> <!-- DragSearchHandler - START --> <script src="//search1.daumcdn.net/search/statics/common/js/g/search_dragselection.min.js"></script> <!-- DragSearchHandler - END --> <script type="text/javascript">(function($) { $(document).ready(function() { lightbox.options.fadeDuration = 200; lightbox.options.resizeDuration = 200; lightbox.options.wrapAround = false; lightbox.options.albumLabel = "%1 / %2"; }) })(tjQuery);</script> <div style="margin:0; padding:0; border:none; background:none; float:none; clear:none; z-index:0"></div> <script type="text/javascript" src="https://tistory1.daumcdn.net/tistory_admin/userblog/tistory-731a3360491e00a6248fb072186bed95b70157ac/static/script/common.js"></script> <script type="text/javascript">window.roosevelt_params_queue = window.roosevelt_params_queue || [{channel_id: 'dk', channel_label: '{tistory}'}]</script> <script type="text/javascript" src="//t1.daumcdn.net/midas/rt/dk_bt/roosevelt_dk_bt.js" async="async"></script> <script type="text/javascript" src="https://tistory1.daumcdn.net/tistory_admin/userblog/tistory-731a3360491e00a6248fb072186bed95b70157ac/static/script/menubar.min.js"></script> <script>window.tiara = {"svcDomain":"user.tistory.com","section":"글뷰","trackPage":"글뷰_보기","page":"글뷰","key":"2840920-19766","customProps":{"userId":"0","blogId":"2840920","entryId":"19766","role":"guest","trackPage":"글뷰_보기","filterTarget":false},"entry":{"entryId":"19766","categoryName":"JQUERY","categoryId":"381321","author":"3264508","image":"","plink":"/entry/JQUERY-%EC%84%A4%EC%A0%95-%EC%82%AC%EC%9A%A9%EC%9E%90-%EC%A7%80%EC%A0%95-HTML5-%ED%95%84%EC%9A%94%ED%95%9C-%ED%95%84%EB%93%9C-%EA%B2%80%EC%A6%9D-%EB%A9%94%EC%8B%9C%EC%A7%80","tags":["HTML","javascript","jQuery"]},"kakaoAppKey":"3e6ddd834b023f24221217e370daed18","appUserId":"null"}</script> <script type="module" src="https://t1.daumcdn.net/tistory_admin/frontend/tiara/v1.0.0/index.js"></script> <script src="https://t1.daumcdn.net/tistory_admin/frontend/tiara/v1.0.0/polyfills-legacy.min.js" nomodule="true" defer="true"></script> <script src="https://t1.daumcdn.net/tistory_admin/frontend/tiara/v1.0.0/index-legacy.js" nomodule="true" defer="true"></script> </body> </html>