JavaScript

[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 - <embed> 객체 - 외부동영상재생 (= embed태그 = 엠베드태그, HTML5추가)
HTML_Objects JS - <fieldset> 객체 ★ - 폼양식 관련요소묶음 (= fieldset태그 = 필드셋태그) (HT…
HTML_Objects JS - <figcaption> 객체 - 독립콘텐츠제목 (= figcaption태그 = 피그캡션태그) (IE…
HTML_Objects JS - <figure> 객체 - 독립콘텐츠표시 (= figure태그 = 피겨태그) (HTML5추가, IE9…
HTML_Objects JS - <footer> 객체 ★ - 단락꼬릿말 (= footer태그 = footer요소 = 푸터태그 = 푸…
HTML_Objects JS - <form> 객체 - 입력폼양식 (= form태그 = 폼태그 = form객체 = 폼객체)
HTML_Objects JS - <head> 객체 ★ - 문서정보정의 (= head태그 = 헤드태그) (HTML5에서 속성 지원 X…
HTML_Objects JS - <header> 객체 ★ - 단락머리말 (= header태그 = 헤더태그 = 헤더요소) (HTML…
HTML_Objects JS - <h1> ~ <h6> 객체 ★ - 문단제목글씨크기 (= 표제태그 = 단락제목글자크기 = h1태그, …
HTML_Objects JS - <hr> 객체 - 주제 다른 문단구분선 (= 가로선 = 수평선 = hr태그 = 흐르태그 = 에이치알…
HTML_Objects JS - <html> 객체 ★ - HTML문서 (= html태그 = html요소 = 에이치티엠엘태그)
HTML_Objects JS - <i> 객체 - 이탤릭체 (=기울어진 글씨체 = 글씨 기울어지게 = i태그 = 아이태그, 이탤릭태그…
HTML_Objects JS - <iframe> 객체 ★ - 타웹페이지삽입 (= iframe태그 = 아이프레임태그)
HTML_Objects JS - <img> 객체 ★ - 사진/그림/이미지 (= img태그 = 이미지태그)
HTML_Objects JS - <ins> 객체 - 텍스트삽입표시 (= ins태그 = 인스태그 = 인서트태그)
3/8
목록
 홈  PC버전 로그인 일본어
그누앞단언어
그누뒷단언어
그외코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 2
웹유틸
회원센터
홈짱닷컴 PC버전 로그인