📖
그누보드5 입력필더 확장자 체크 후 자동 제출(확장자 체크 + 잘못된 값 초기화)

페이지 정보

본문

wr_1 값이 .mkv .mp4 .ts 확장자로 끝날 때만 전송
그렇지 않으면 값 초기화 + 포커스
[code]<script>
(function(){
  var submitTimer = null; // 타이머 저장
  var allowedExt = ['.mkv', '.mp4', '.ts']; // 허용 확장자 리스트, 필요시 추가 가능

  function tryAutoSubmit(){
    var wr1  = document.getElementById('wr_1');
    var btn  = document.getElementById('btn_submit');
    if(!wr1 || !btn) return;

    var val = wr1.value.trim().toLowerCase();

    if(val.length > 0) {
      // 허용 확장자 체크 (쿼리 문자열/해시 포함 허용)
      var isAllowed = allowedExt.some(function(ext){
        var re = new RegExp(ext.replace('.', '\\.') + '(\\?|#|$)', 'i');
        return re.test(val);
      });

      if(isAllowed) {
        // 이전 타이머 취소 후 다시 시작
        if(submitTimer) clearTimeout(submitTimer);

        submitTimer = setTimeout(function(){
          // 값 그대로이면 전송
          if(wr1.value.trim().length > 0) {
            btn.dispatchEvent(new MouseEvent('click', {
              bubbles: true,
              cancelable: true,
              view: window
            }));
          }
        }, 1000);

      } else {
        // 허용되지 않은 확장자 → 초기화 및 포커스
        wr1.value = '';
        wr1.focus();
      }
    }
  }

  document.addEventListener('DOMContentLoaded', function(){
    var wr1 = document.getElementById('wr_1');
    if(!wr1) return;

    // 입력/붙여넣기 시 동작
    wr1.addEventListener('input', tryAutoSubmit);
  });
})();
</script>
[/code]✅ 동작 요약
1. 입력값 끝이 허용 확장자로 시작하면 1초 후 자동 제출
2. .mp4?token=abc 같이 쿼리 문자열/#가 붙어도 허용
3. 허용되지 않는 값이면 즉시 초기화 + 포커스
4. allowedExt 배열로 쉽게 다른 확장자 추가 가능

입력 값     허용 여부
video.mp4 ✅
video.mkv?token=abc ✅
video.ts#section1 ✅
video.txt ❌

댓글목록

등록된 댓글이 없습니다.

🔍 검색

회사소개 개인정보처리방침 서비스이용약관
Copyright © rainbowgarden.shop All rights reserved.