첨부파일을 입력하는데 필수값으로 하고 싶은데 어떻게 수정해야 할까요???
본문
첨부파일을 입력하는데 필수값으로 하고 싶은데 어떻게 수정해야 할까요???
<li>
<label for="file-name-5" class="Pretendard_B">
공무원증 · 복무증명서 첨부
</label>
<div class="gw-file-input-container gw-mt-10 gw-mb-10">
<div id="file-name-5" class="file-name">파일을 선택하세요</div>
<label for="reg_mb_5" class="gw-file-input-button gw-w-30">파일 선택</label>
<input type="file" name="mb_file[]" id="reg_mb_5" onchange="document.getElementById('file-name-5').textContent = this.files[0]?.name || '파일을 선택하세요';">
</div>
<?php if ($w == 'u' && $member["mb_5"]) { ?>
<div class="">
<input type="hidden" id="mb_5" class="frm_input" name="mb_5" value="<?php echo $member["mb_5"]; ?>" />
<input type="checkbox" id="mb_file_del5" name="mb_file_del[5]" value="1">
<label for="mb_file_del5" class="frm_label"><?php echo $member["mb_5"]; ?> 파일 삭제</label>
</div>
<?php } ?>
</li>
답변 6
<input type="file" name="mb_file[]" id="reg_mb_5" required onchange="document.getElementById('file-name-5').textContent = this.files[0]?.name || '파일을 선택하세요';">
function fregisterform_submit(f) {
const fileInput = document.getElementById('reg_mb_5');
const existingFile = document.getElementById('mb_5'); // 기존 파일 존재 여부
if (!fileInput.files.length && (!existingFile || !existingFile.value)) {
alert('공무원증 또는 복무증명서를 반드시 첨부해 주세요.');
fileInput.focus();
return false;
}
// 기존 유효성 고대로
return true; // 통과 시 제출
} // 이렇게 처리해주세요
required 속성 추가해주면 됩니다.
<input type="file" name="mb_file[]" id="reg_mb_5" <?php echo ($w == '' ? 'required' : ''); ?> onchange=~
function fregisterform_submit(f) {
~
if (f.w.value == "" && !document.getElementById('reg_mb_5').files.length) {
alert("공무원증 · 복무증명서를 첨부해주세요.");
document.getElementById('reg_mb_5').focus();
return false;
}
<?php echo chk_captcha_js(); ?>
}
그냥 chatgpt 에 해당 소스 올리고
" 파일업로드를 필수로 하려고 하는데 스크립트 만들어주거나 소스 수정해줘 "
이렇게 질문하시면 뚝딱 만들어줍니다.
적용이 되는것 같은데 문제는 파일을 첨부하지 안으면 파일을 선택해라등 메시지가 출력이 되었으면 좋겠는데 아무런 반응이 없습니다. 어떻게 해야 할까요???
다른것들은 보면 <select name="mb_4" id="mb_4" required class="required"> 안되어 있으면 이쪽으로 이동을 시켜주거나 하는데 파일첨부는 그렇게 못할까요?
답변 감사합니다. 그런데
최종적으로 이렇게 해도 작동을 못합니다. ㅡㅡ
<li>
<label for="file-name-5" class="Pretendard_B">
공무원증 · 복무증명서 첨부
</label>
<div class="gw-file-input-container gw-mt-10 gw-mb-10">
<div id="file-name-5" class="file-name">파일을 선택하세요</div>
<label for="reg_mb_5" class="gw-file-input-button gw-w-30">파일 선택</label>
<input type="file" name="mb_file[]" id="reg_mb_5" <?php echo ($w == '' ? 'required' : ''); ?> onchange="document.getElementById('file-name-5').textContent = this.files[0]?.name || '파일을 선택하세요';">
</div>
<?php if ($w == 'u' && $member["mb_5"]) { ?>
<div class="">
<input type="hidden" id="mb_5" class="frm_input" name="mb_5" value="<?php echo $member["mb_5"]; ?>" />
<input type="checkbox" id="mb_file_del5" name="mb_file_del[5]" value="1" >
<label for="mb_file_del5" class="frm_label"><?php echo $member["mb_5"]; ?> 파일 삭제</label>
</div>
<?php } ?>
</li>
스크립트 부분에
if (f.w.value == "" && !document.getElementById('reg_mb_5').files.length) {
alert("공무원증 · 복무증명서를 첨부해주세요.");
document.getElementById('reg_mb_5').focus();
return false;
}