• 회원가입
  • 로그인
  • 구글아이디로 로그인

[HTML_Objects] JS - <input type="file"> 객체 ★ - file타입 input태그 (= 인풋파일태그) ※ 첨부파일/파일첨부 업로드 커스텀

목차

  1. <input type="file"> 객체 정의 - 파일 인풋
  2. <input type="file"> 객체 구문
  3. <input type="file"> 객체 예제 - 접근
  4. <input type="file"> 객체 예제 - 생성
  5. <input type="file"> 객체 속성
  6. <input type="file"> 객체 예제 - 파일 텍스트 메시지 통일

 

<input type="file"> 객체 정의 - 파일 인풋

 

HTML <input type="file"> 태그(요소) 의미.

 


 

1. 

브라우저마다 표시 문자열 다름. (예)

  • Chrome: 파일선택 선택된 파일 없음
  • Firefox: 찾아보기... 파일이 선택되지 않았습니다.

 

2. 

JS 이용해 모든 브라우저에서 동일하게 보이게 가능. (맨 아래 예제)

(※ 원리: <input type="file"> 요소가 숨어서 작동)

 

 

 

<input type="file"> 객체 구문

 

[접근]

var x = document.getElementById("요소ID");

또는,

var x = document.getElementById("폼요소ID").elements;

 

[생성]

var x = document.createElement("INPUT");

x.setAttribute("type", "file");

 

 

<input type="file"> 객체 예제 - 접근

 

<input type="file" id="hz">


<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  var x = document.getElementById("hz");

  x.disabled = true;

}

</script> 

 

결과보기 

 

<input type="file"> 객체 예제 - 생성

 

<button onclick="homzzang()">클릭</button>


<script>

function homzzang() {

  var x = document.createElement("INPUT");

  x.setAttribute("type", "file");

  document.body.appendChild(x);

}

</script> 

 

결과보기 

 

<input type="file"> 객체 속성

 

accept

파일 업로드 버튼의 accept 속성값 설정/반환.

 

autofocus

페이지 로드 시 파일 업로드 버튼이 자동으로 focus 갖을지 여부 설정/반환.

 

defaultValue

파일 업로드 버튼의 기본값 설정/반환.

 

disabled

파일 업로드 버튼의 비활성화 여부 설정/반환.

 

files

파일 업로드 버튼으로 선택한 파일을 나타내는 FileList 객체 반환.

 

form

파일 업로드 버튼이 포함 된 폼에 대한 참조 반환.

 

multiple

파일 업로드 필드에서 사용자가 둘 이상의 파일을 선택할 수 있는지 여부 설정/반환. (※ Ctrl키・Shift키 이용해 여러 파일 동시 선택 가능)

 

name

파일 업로드 버튼의 name 속성값 설정/반환.

 

required

양식을 제출하기 전에 파일 업로드 필드의 파일을 선택해야하는지 여부 설정/반환.

 

type

파일 업로드 버튼이 어떤 형태의 폼 요소인지 반환.

 

value

선택한 파일의 경로 또는 이름 반환. 

 

※ <input type="file"> 객체는 표준 속성/메서드/이벤트 지원.

 

<input type="file"> 객체 예제 - 파일 텍스트 메시지 통일

 

<style>

.display {float:left; height:30px;line-height:30px; box-sizing: content-box;}

.btn_box {position:relative;}

.btn_box .btn  {width:80px; height:30px; line-height:30px; box-sizing: content-box; overflow:hidden;}

.btn_box .hidden {font-size:29px; position:absolute; right:0px; top:0px; opacity:0; filter: alpha(opacity=0); -ms-filter: alpha(opacity=0); cursor:pointer;}

</style>


<input type="text" id="hz" class="display" readonly>

<div class="btn_box">

    <button type="button" class="btn">파일찾기</button>

    <input type="file" name="hz" class="hidden" onchange="javascript: document.getElementById('hz').value = this.value"/>

</div>

 

결과보기

PS. 주의: box-sizing:content-box 속성 추가해야 <input>과 <button> 높이가 동일해짐.

 


분류 제목
HTML_Objects JS - <ol> 객체 ★ - 순서있는리스트 (= 목록태그 = ol태그 = 오엘태그 = 올태그 = 오더드 리…
HTML_Objects JS - <optgroup> 객체 - 옵션그룹 (= optgroup태그 = 옵트그룹태그/옵션그룹태그) ※ 선…
HTML_Objects JS - <option> 객체 ★ - 선택사항 (= 옵션사항 = option태그 = 옵션태그)
HTML_Objects JS - <output> 객체 - 계산결과값출력 (= 산출태그 = output태그 = 아웃풋태그) (HTML…
HTML_Objects JS - <p> 객체 - 글단락 (= p태그 = p요소 = 글문단 = 단락태그 = 문단태그 = 피태그)
HTML_Objects JS - <param> 객체 - 미디어매개변수 (= param태그 = 패럼태그 = 파람태그 = 패러미터태그 …
HTML_Objects JS - <pre> 객체 ★ - 공백줄바꿈보존 (= 보존태그 = 있는그대로태그 = 있는대로태그 = pre태그…
HTML_Objects JS - <progress> 객체 - 진행상태바 (=진행바 = 진행막대 = 작업막대 = progress태그 …
HTML_Objects JS - <q> 객체 - 짧은인용구 (= 짧은인용태그 = q태그 = 큐태그)
HTML_Objects JS - <s> 객체 - 취소선 (= 취소태그 = s태그 = 에스태그 = 스트라이크쓰루태그) (HTML5 재…
HTML_Objects JS - <samp> 객체 - 프로그램산출예제 (= 예제태그 = samp태그 = 샘프태그 = 샘플태그)
HTML_Objects JS - <script> 객체 ★ - JS코드입력 (= 동적기능언어입력 = script태그 = 스크립트태그)
HTML_Objects JS - <section> 객체 ★ - 문서단락 (= section태그 = 섹션태그, IE9)
HTML_Objects JS - <select> 객체 ★★ - 선택메뉴 (= select메뉴 = select태그 = 실렉트태그/셀렉…
HTML_Objects JS - <small> 객체 - 작은글씨 (= small태그 = 스몰태그)
HTML_Objects JS - <source> 객체 - 미디어소스 불러오기 (= source태그 = 소스태그, IE9)
HTML_Objects JS - <span> 객체 ★★★ - 인라인요소그룹 (= span태그 = 스팬태그)</span>
HTML_Objects JS - <strong> 객체 ★ - 굵은 글씨 (=폰트 굵게 = 글씨 굵게 = strong태그 = 스트롱태…
HTML_Objects JS - <style> 객체 ★ - 요소에 CSS스타일적용 (= style태그 = 스타일태그)
HTML_Objects JS - <sub> 객체 ★ - 아래첨자 (= 하단작은글씨 = 하단태그 = sub태그 = 서브태그)
5/6
목록
찾아주셔서 감사합니다. Since 2012