📖
그누보드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 ❌
그렇지 않으면 값 초기화 + 포커스
[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 ❌
댓글목록
등록된 댓글이 없습니다.
![]() ![]() |