파일업로드시 미리보기 제거하는 부분 문의드립니다.

파일업로드시 미리보기 제거하는 부분 문의드립니다.

QA

파일업로드시 미리보기 제거하는 부분 문의드립니다.

본문

#사진1

988402489_1672823139.9112.png

#사진2

988402489_1672823767.6627.png

 

위 #사진1 처럼 부트 5.0 가져다 사용하고 있는되요.

#사진2처럼 닫기버튼을 누르면,

초기화 하는 부분은 없더라구요.

혹시 리셋 이미지 조언 구합니다.

 

스크립트는 아래와 같습니다.


// Upload Input
var uploadComponent = document.querySelectorAll('.custom-file-upload');
uploadComponent.forEach(function (el) {
    var fileUploadParent = '#' + el.id;
    var fileInput = document.querySelector(fileUploadParent + ' input[type="file"]')
    var fileLabel = document.querySelector(fileUploadParent + ' label')
    var fileLabelText = document.querySelector(fileUploadParent + ' label span')
    var filelabelDefault = fileLabelText.innerHTML;
    fileInput.addEventListener('change', function (event) {
        var name = this.value.split('\\').pop()
        tmppath = URL.createObjectURL(event.target.files[0]);
        if (name) {
            fileLabel.classList.add('file-uploaded');
            fileLabel.style.backgroundImage = "url(" + tmppath + ")";
            fileLabelText.innerHTML = name;
        } else {
            fileLabel.classList.remove("file-uploaded")
            fileLabelText.innerHTML = filelabelDefault;
         }
    })
})

 

위 디자인 처럼 구성된 HTML입니다.


<div class="upload-img-btn">
    <div class="upload_btn">
        <div class="custom-file-upload" id="fileUpload1">
            <input type="file" id="fileuploadInput" accept=".png, .jpg, .jpeg">
            <label for="fileuploadInput">
            <span>
                <strong>
                     <ion-icon name="cloud-upload-outline" role="img" class="md hydrated" aria-label="cloud upload outline"></ion-icon>
                     <i>이미지 업로 드</i>
                 </strong>
             </span>
             </label>
         </div>
    </div>
</div>

이 질문에 댓글 쓰기 :

답변 3

올리신 소스 기준으로는


fileLabelText.innerHTML = filelabelDefault;

이부분 참조해서 구성하면 될것 같습니다.

 <label for="fileuploadInput">
            <span>
                <strong>
                     <ion-icon name="cloud-upload-outline" role="img" class="md hydrated" aria-label="cloud upload outline"></ion-icon>
                     <i>이미지 업로 드</i>
                 </strong>
             </span>
             </label>

 

 

이거를 뺴보세요

답변 주신 분들 조언 참조 해서 

참조해서 진행 해봤습니다. ^^
잘 되네요


    // 230104 : Reset img
    resetInputBtn.addEventListener('click', function(event){
        fileLabel.classList.remove("file-uploaded")  // 첨부된 스타일 지우기
        fileLabel.style.backgroundImage = "";        // 백그라운드 스타일 지우기
        fileLabelText.innerHTML = filelabelDefault; // 이미지 첨부 전 디폴트 
        resetInputBtn.classList.add("disN")  // 리셋버튼 숨김
        fileInput.value = null;     // 파일 리셋

    });
이렇에 진행 하니 잘 되네요 ^^

 

감사합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 82
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT