【jQuery】 폼에서 포커스가 벗어나면 값을 성형한다

환경



Rails 6
jQuery

Solve




  • 포커스가 풀리면 전후의 공백을 삭제해 전각 공백을 반각 공백으로 치환
  • 포커스가 벗어나면 소문자의 알파벳을 대문자로 변환

  • util에 쓴 공통 메소드를 include하고 view측에서 필요한 것만 호출할 수 있습니다.
    인수는 id 등 셀렉터를 건네줍니다. 복수 가능.

    util.js
    // 名前空間
    var myUtil = {
    
      /**
       * フォーカスが外れたら前後の空白を削除して全角空白を半角空白へ置換
       * @param selectors {String} 文字列形式のセレクタ
       */
      trimBlank: function(selectors) {
        $(selectors).focusout(function(e) {
          var oriStr = $(this).val().replace(/ /g, " ");
          $(this).val($.trim(oriStr));
        });
      },
    
      /**
       * フォーカスが外れたら小文字のアルファベットを大文字に変換
       * @param selectors {String} 文字列形式のセレクタ
       */
      convertUppercase: function(selectors) {
        $(selectors).focusout(function(e) {
          var oriStr = $(this).val();
          $(this).val(oriStr.toUpperCase());
        });
      },
    
    }
    
    window.myUtil = myUtil;
    

    application.js
    require('./custom/util')
    

    _xxx_form.html
    <script>
      // 共通メソッド呼び出し
      $(function(){
        myUtil.trimBlank('#mail, #name');
        myUtil.convertUppercase('#name-en');
      });
    </script>
    

    좋은 웹페이지 즐겨찾기