JavaScript에서 파일 입력 요소에 대해 프로그래밍 방식으로 "클릭"이벤트를 발생시킬 수 있습니까?


261

<input type="file">프로그래밍 방식 으로 태그 에서 클릭 이벤트를 시작하고 싶습니다 .

click ()을 호출해도 아무것도하지 않는 것 같거나 적어도 파일 선택 대화 상자가 나타나지 않습니다.

리스너를 사용하여 이벤트를 캡처하고 이벤트를 리디렉션하는 방법을 실험했지만 실제로 누군가가 클릭 한 것처럼 이벤트를 수행 할 수 없었습니다.


1
트리거하는 클릭 이벤트는 사용자가 시작한 클릭 이벤트 내에서 호출되어야합니다. 그렇지 않으면 작동하지 않습니다.
우마곤

답변:


79

모든 브라우저 에서이 작업을 수행 할 수는 없지만 IE 허용하지만 Mozilla와 Opera 허용하지 않습니다.

Gmail에서 메시지를 작성할 때 '파일 첨부'기능은 IE 및이를 지원하는 모든 브라우저에 대해 한 가지 방법으로 구현 된 다음 Firefox 및 그렇지 않은 브라우저에 대해 다른 방법으로 구현됩니다.

나는 당신이 그것을 할 수없는 이유를 모르겠지만, 한 가지 보안 위험을, 당신은 모든 브라우저에서 할 수 없습니다하는 프로그래밍 방식으로 HTML 파일 요소의 파일 이름을 설정한다.


1
드랏. 글쎄, 나는 그것이 악용 될 수 있음을 확실히 이해한다. 이것은 어디에나 문서화되어 있습니까? 각 브라우저에서 구현 될 것 같아요?
user28655

내 답변이 이전 답변보다 더 정확하도록 업데이트되었습니다. 요점은 동일하지만 설명이 약간 도움이 될 것입니다. 같은 문제로이 사람의 RAN : bytes.com/forum/thread542877.html
제이슨 멧새

감사합니다 신 FF5는이 클릭을 허용합니다
rshimoda

2
위의 설명을 명확하게하기 위해 : Chrome은 최근에 파일 input요소가 표시 되는지 확인하기 위해 변경했습니다 . click요소를 볼 수있는 경우 콘솔을 포함 하여 메소드 트리거가 작동합니다.
jwadsack

2
@Otvazhnii-친구,이 답변 (당신이 말하고있는 것이 잘못되었습니다)은 10 세입니다. 정확하지 않습니다. (나는 확실하지 않다, 나는 당신의 말을 받아들이고있다). : P
Jason Bunting

257

나는 하루 종일 해결책을 찾고 있습니다. 그리고 이것은 내가 한 결론입니다.

  1. 보안상의 이유로 Opera와 Firefox는 파일 입력을 트리거 할 수 없습니다.
  2. 유일한 편리한 대안은 "숨겨진"파일 입력 ( "숨겨진"또는 "디스플레이 : 없음"이 아닌 불투명도를 사용하여)을 만든 다음 "아래"단추를 만드는 것입니다. 이러한 방식으로 버튼이 표시되지만 사용자 클릭시 실제로 파일 입력이 활성화됩니다.

도움이 되었기를 바랍니다! :)

<div style="display: block; width: 100px; height: 20px; overflow: hidden;">
<button style="width: 110px; height: 30px; position: relative; top: -5px; left: -5px;"><a href="javascript: void(0)">Upload File</a></button>
<input type="file" id="upload_input" name="upload" style="font-size: 50px; width: 120px; opacity: 0; filter:alpha(opacity=0);  position: relative; top: -40px;; left: -20px" />
</div>

6
이 솔루션은 훌륭하게 작동합니다. 왜 간과되고 업데이트되지 않았는지 잘 모르겠습니다. 그것은 정확히 질문이 요구하는 것은 아니지만 훌륭한 해결책입니다. 모든 브라우저와 호환되지 않는 것으로 나타 났습니까? 10 가지 이상의 관련 맛을 테스트해볼 시간이 없습니다.
예브게니 심킨

1
이 답변에 감사드립니다, 그것은 대단합니다 : D
mario.tco

좋은 해결책. 안드로이드 모바일 브라우저에서도 작동합니다.
gstroup

1
사실이 아닙니다. 아래 Didier의 답변을 참조하십시오. 프로그래밍 방식 클릭은 다른 버튼의 클릭 핸들러와 같이 사용자 작업 컨텍스트에서 가져와야합니다. 그런 다음 오버플로 요소가 없어도 정상적으로 작동합니다.
smok

1
이것의 유일한 문제는 호버에서 버튼 스타일을 변경하려는 경우 할 수 없다는 것입니다. 즉, 앱의 다른 모든 버튼처럼 보이게하려면 할 수 없습니다.
Vincent

68

모든 브라우저에서 click ()을 실행할 수 있지만 일부 브라우저에는 요소를 표시하고 초점을 맞춰야합니다. 다음은 jQuery 예입니다.

$('#input_element').show();
$('#input_element').focus();
$('#input_element').click();
$('#input_element').hide();

전에 hide와 함께 작동 click()하지만 show 메서드를 호출하지 않고 작동하는지 모르겠습니다. Opera에서 이것을 시도하지 않았으며 IE / FF / Safari / Chrome에서 테스트했으며 작동합니다. 이것이 도움이되기를 바랍니다.


51
공유해 주셔서 감사합니다. 모르는 경우에 대비하여 jQuery에서 체인을 사용할 수 있습니다. $(...).show().focus().click().hide();:)
pimvdb

1
@pimvdb : 테스트하는 한 솔루션은 Chrome에서만 작동합니다.
Hoàng Long

1
@ Hoàng Long : 체인 또는 플로린 모고의 솔루션을 의미합니까? 체인이 브라우저 간 차이를 만들지 않을 것이라고 생각합니다.
pimvdb

1
@ HoàngLong IE 8 및 9, 최신 Chrome, Safari 및 Firefox에서 작동합니다.
Sami Samhuri

2
이상한. 테스트 한 결과 Ubuntu의 Chrome에서는 작동하지 않습니다.
sandrew

29

가능 : FF4 +에서 Opera?, Chrome ::

  1. inputElement.click()사용자 작업 컨텍스트에서 호출해야합니다! (스크립트 실행 컨텍스트 아님)

  2. <input type="file" />표시되어야합니다 ( inputElement.style.display !== 'none') (표시 또는 기타 속성으로 숨길 수 있지만 "디스플레이"속성은 숨길 수 없음)


이것은 나를 위해 해결했습니다. onclick이벤트에 바인딩하는 대신 속성에 자바 스크립트를 추가해야했습니다 .
jasonlfunk

1
유일한 합리적인 해결책을지지합니다. 오버플로 방법이 추악합니다.
smok

하아! 나는 그것이 맥락과 관련이 있다는 것을 알고 있었다! 키 다운 inputElement.click()이벤트 (파일 첨부 바로 가기) 내에서 호출하는 것이 효과가 있지만 타임 아웃 또는 아약스 콜백에서 호출하는 것은 효과 가 없음을 관찰 했습니다. 공감.
brettjonesdev

9
Btw "사용자 작업 컨텍스트"대 "스크립트 실행 컨텍스트"에 대한 추가 리소스가 있습니까? 검색 할 때 내가보고있는 모든 것은 실행 컨텍스트와 관련이 this있습니다. : /
brettjonesdev

@ bretjonesdev 필자는 클릭 이벤트 핸들러와 같은 사용자 시작 이벤트 핸들러 내부에서 약속, 시간 초과 또는 기타 사용자가 시작하지 않은 다른 이벤트를 실행해야한다고 생각합니다.
Alex Guerra

10

링크를 통해 보이지 않는 양식을 오버레이해야하지만 쓰기가 너무 게으르다는 것을 이해하는 사람들을 위해 작성했습니다. 글쎄, 나에게는 있지만 공유 할 수도 있습니다. 의견을 환영합니다.

HTML (어딘가) :

<a id="fileLink" href="javascript:fileBrowse();" onmouseover="fileMove();">File Browse</a>

HTML (당신이 신경 쓰지 않는 곳) :

<div id="uploadForm" style="filter:alpha(opacity=0); opacity: 0.0; width: 300px; cursor: pointer;">
    <form method="POST" enctype="multipart/form-data">
        <input type="file" name="file" />
    </form>
</div>

자바 스크립트 :

function pageY(el) {
    var ot = 0;
    while (el && el.offsetParent != el) {
        ot += el.offsetTop ? el.offsetTop : 0;
        el = el.offsetParent;
    }
    return ot;
}

function pageX(el) {
    var ol = 0;
    while (el && el.offsetParent != el) {
        ol += el.offsetLeft ? el.offsetLeft : 0;
        el = el.offsetParent;
    }
    return ol;
}

function fileMove() {
    if (navigator.appName == "Microsoft Internet Explorer") {
        return; // Don't need to do this in IE. 
    }
    var link = document.getElementById("fileLink");
    var form = document.getElementById("uploadForm");
    var x = pageX(link);
    var y = pageY(link);
    form.style.position = 'absolute';
    form.style.left = x + 'px';
    form.style.top = y + 'px';
}

function fileBrowse() {
    // This works in IE only. Doesn't do jack in FF. :( 
    var browseField = document.getElementById("uploadForm").file;
    browseField.click();
}



7

click방법이 Chrome, Firefox 등에서 작동하게하려면 입력 파일에 다음 스타일을 적용하십시오. 완벽하게 숨겨져 있습니다. 마치 마치display: none;

#fileInput {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: -5000px;
}

그것은 간단합니다, 나는 그것이 작동하는지 테스트했습니다!


일부 구형 브라우저는 inputElement.click ()이 숨겨져 있으면 아무것도하지 않기 때문에이 방법이 가장 좋습니다.
Nick

heightand width를 설정하지 0않습니까?
Solomon Ucko

5
$(document).one('mousemove', function() { $(element).trigger('click') } );

비슷한 문제가 발생했을 때 나를 위해 일한 것은 일반적인 eRube Goldberg입니다.


4

작업 솔루션

이 오래된 게시물에 추가 해 보겠습니다.이 솔루션은 새로운 브라우저와 오래된 브라우저 모두에서 80 % 이상 작동합니다.

이 솔루션은 복잡하지만 단순합니다. 첫 번째 단계는 CSS를 사용하고 불투명도가 0 인 "언더 요소"로 입력 파일 유형을 지정하는 것입니다. 다음 단계는 JavaScript를 사용하여 필요에 따라 레이블을 업데이트하는 것입니다.

HTML 특정 요소에 빠르게 액세스 할 수있는 방법을 원한다면 ID가 간단히 삽입되지만 클래스는이 전체 프로세스를 설정하는 CSS와 관련되어 있어야합니다.

<div class="file-input wrapper">
    <input id="inpFile0" type="file" class="file-input control" />
    <div class="file-input content">
        <label id="inpFileOutput0" for="inpFileButton" class="file-input output">Click Here</label>
        <input id="inpFileButton0" type="button" class="file-input button" value="Select File" />
    </div>
</div>

CSS 명심하고, 채색 및 글꼴 스타일은 전적으로 귀하가 선호하는 것입니다.이 기본 CSS를 사용하는 경우 언제든지 스타일에 따라 끝 마크를 사용할 수 있습니다. 이는 끝에 나열된 jsFiddle에 표시됩니다.

.file-test-area {
    border: 1px solid;
    margin: .5em;
    padding: 1em;
}
.file-input {
    cursor: pointer !important;
}
.file-input * {
    cursor: pointer !important;
    display: inline-block;
}
.file-input.wrapper {
    display: inline-block;
    font-size: 14px;
    height: auto;
    overflow: hidden;
    position: relative;
    width: auto;
}
.file-input.control {
    -moz-opacity:0 ;
    filter:alpha(opacity: 0);
    opacity: 0;

    height: 100%;
    position: absolute;
    text-align: right;
    width: 100%;
    z-index: 2;
}
.file-input.content {
    position: relative;
    top: 0px;
    left: 0px;
    z-index: 1;
}
.file-input.output {
    background-color: #FFC;
    font-size: .8em;
    padding: .2em .2em .2em .4em;
    text-align: center;
    width: 10em;
}
.file-input.button {
    border: none;
    font-weight: bold;
    margin-left: .25em;
    padding: 0 .25em;
}

JavaScript 순수하고 사실이지만 일부 OLDER (사용하지 않는) 브라우저는 여전히 Netscrape 2와 같이 문제가있을 수 있습니다!

var inp = document.getElementsByTagName('input');
for (var i=0;i<inp.length;i++) {
    if (inp[i].type != 'file') continue;
    inp[i].relatedElement = inp[i].parentNode.getElementsByTagName('label')[0];
    inp[i].onchange /*= inp[i].onmouseout*/ = function () {
        this.relatedElement.innerHTML = this.value;
    };
};

jsFiddle 예제 작업


4

효과가있다 :

Firefox 및 Opera의 보안상의 이유로 파일 입력을 클릭 할 수는 없지만 MouseEvents를 사용하여 시뮬레이션 할 수 있습니다.

<script>
click=function(element){
    if(element!=null){
        try {element.click();}
        catch(e) {
            var evt = document.createEvent("MouseEvents");
            evt.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);
            element.dispatchEvent(evt);
            }
        }
    };
</script>

<input type="button" value="upload" onclick="click(document.getElementById('inputFile'));"><input type="file" id="inputFile" style="display:none">

1
점을 유의 createEvent()하고 initMouseEvent()지금은 사용되지 않습니다.
Alexis Wilke

4

나는 이것이 오래되었다는 것을 알고 있으며, 이러한 모든 솔루션은 실제 가치가있는 브라우저 보안 예방 조치에 대한 해킹입니다.

즉, 오늘 현재 fileInput.click ()은 현재 Chrome (36.0.1985.125 m) 및 현재 Firefox ESR (24.7.0)에서는 작동하지만 현재 IE (11.0.9600.17207)에서는 작동하지 않습니다. 버튼 위에 불투명도가 0 인 파일 필드를 오버레이해도 작동하지만 링크 요소를 가시 트리거로 원했고 마우스 오버 밑줄이 브라우저에서 제대로 작동하지 않습니다. 브라우저가 호버 스타일이 실제로 적용되는지 여부를 생각하면서 브라우저가 깜박입니다.

그러나 모든 브라우저에서 작동하는 솔루션을 찾았습니다. 모든 브라우저의 모든 버전을 테스트했다고 주장하지는 않지만 브라우저가 계속 작동한다는 것을 알고 있지만 현재 내 요구를 충족시키는 것으로 보입니다.

간단합니다 : 파일 입력 필드를 화면 밖으로 배치하고 (위치 : 절대; 상단 : -5000px) 레이블 요소를 그 주위에 놓고 파일 필드 대신 레이블을 클릭합니다.

레이블의 click 메소드를 호출하기 위해 링크를 스크립팅해야합니다. 레이블 요소 내부의 텍스트를 클릭 할 때와 같이 링크를 자동으로 수행하지는 않습니다. 분명히 링크 요소는 클릭을 캡처하고 레이블을 통과시키지 않습니다.

또한 필드가 화면이 아니기 때문에 현재 선택된 파일을 표시하는 방법을 제공하지 않습니다. 파일을 선택할 때 즉시 제출하고 싶었으므로 문제가되지 않지만 상황이 다른 경우 다소 다른 방법이 필요합니다.


좋아, 버튼 태그에서 onclick = "filetag.click ()"은 IE 9 및 10에서 작동하지 않습니다 (그러나 IE 11, Firefox 4/10/26/27/28, Chrome / Chromium 31 / 32 / 33 / 36, 사파리 7, 오페라 23). 그러나 = "id-of-file-input"에 레이블을 사용하면 (onlick없이) IE 9/10/11에서 작동합니다.
luigifab

4

JS 피들 : http://jsfiddle.net/eyedean/1bw357kw/

popFileSelector = function() {
    var el = document.getElementById("fileElem");
    if (el) {
        el.click();  
    }
};

window.popRightAway = function() {
    document.getElementById('log').innerHTML += 'I am right away!<br />';
    popFileSelector();
};

window.popWithDelay = function() {
    document.getElementById('log').innerHTML += 'I am gonna delay!<br />';
    window.setTimeout(function() {
        document.getElementById('log').innerHTML += 'I was delayed!<br />';
        popFileSelector();
    }, 1000);
};
<body>
  <form>
      <input type="file" id="fileElem" multiple accept="image/*" style="display:none" onchange="handleFiles(this.files)" />
  </form>
  <a onclick="popRightAway()" href="#">Pop Now</a>
    <br />
  <a onclick="popWithDelay()" href="#">Pop With 1 Second Delay</a>
    <div id="log">Log: <br /></div>
</body>


3

이 코드는 저에게 효과적입니다. 이것이 당신이하려는 일입니까?

<input type="file" style="position:absolute;left:-999px;" id="fileinput" />
<button  id="addfiles" >Add files</button>

<script language="javascript" type="text/javascript">
   $("#addfiles").click(function(){
      $("#fileinput").click();
   });
</script>

3

jQuery 및 jQuery-ui를 사용하는 Safari에 대한 내 솔루션 :

$("<input type='file' class='ui-helper-hidden-accessible' />").appendTo("body").focus().trigger('click');

heads up : firefox 33, chrome 38에서는 작동하지 않습니다. trigger ( 'click')는 사용자 상호 작용 이벤트 컨텍스트 (이벤트 핸들러) 내에서만 작동 할 수 있습니다.
Gmit

3

이 문제에 대한 순수한 JavaScript 솔루션이 있습니다. 모든 브라우저에서 잘 작동

<script>
    function upload_image_init(){
        var elem = document.getElementById('file');
        if(elem && document.createEvent) {
           var evt = document.createEvent("MouseEvents");
           evt.initEvent("click", true, false);
           elem.dispatchEvent(evt);
        }
    }
</script>

2

이벤트를 컨트롤로 리디렉션하는 방법이 있지만 브라우저가 (좋은) 보안상의 이유로이를 차단하려고 시도 할 때 이벤트를 직접 화재 컨트롤에 실행할 수있는 것은 아닙니다.

사용자가 무언가를 클릭 할 때 파일 대화 상자 만 표시해야하는 경우 파일 업로드 버튼이 더 좋아 보이기 때문에 Shaun Inman 의 결과를 살펴볼 수 있습니다. .

키 다운, 키 누르기 및 키 업 이벤트 사이의 제어에 초점을 맞추고 밖으로 이동하면서 키보드 트리거링을 달성 할 수있었습니다. YMMV.

이것은 브라우저와 호환되지 않는 고통의 세계이기 때문에 진심으로 충고하는 것은 이것을 내버려 두는 것입니다. 사소한 브라우저 업데이트도 경고없이 트릭을 차단할 수 있으며 작동 상태를 유지하려면 해킹을 재발 명해야 할 수도 있습니다.


2

파일 대화 상자를 열고 즉시 업로드를 시작하는 사용자 정의 버튼을 만들고 싶었 기 때문에 얼마 전에 이것을 연구했습니다. 방금 업로드 할 수있는 곳을 클릭하면 firefox가 대화 상자를 여는 것처럼 보입니다. 따라서 다음과 같이 할 수 있습니다.

  1. 파일 업로드 및 버튼으로 사용하려는 이미지가 포함 된 별도의 요소 만들기
  2. 파일 요소가 겹치도록 배치하고 파일 요소를 backgroud 및 테두리로 투명하게 만들면 버튼 만 표시됩니다.
  3. 버튼 / 파일 입력을 클릭 할 때 IE가 대화 상자를 열도록 자바 스크립트 추가
  4. 파일을 선택할 때 onchange 이벤트를 사용하여 양식을 제출하십시오.

이것은 이미 문제를 해결하기 위해 다른 방법을 사용했기 때문에 이론적이지만 효과가 있습니다.


2

나는 한 <input type="button">보기에서 숨겨진 태그를. 내가 한 것은 첨부"onClick" 레이블과 같은 모든 유형의 보이는 구성 요소에 이벤트를 . 마우스 오른쪽 클릭 "HTML 편집"명령을 사용하여 Chrome 개발자 도구 또는 Mozilla Firefox의 Firebug를 사용하여 수행되었습니다. 이 경우 다음 스크립트 또는 이와 유사한 것을 지정하십시오.

JQuery가있는 경우 :

$('#id_of_component').click();

그렇지 않은 경우 :

document.getElementById('id_of_component').click();

감사.


2

이 솔루션이 효과가 있습니다. 다운로드하려면 MSBLOB을 사용해야합니다

$scope.getSingleInvoicePDF = function(invoiceNumberEntity) {
   var fileName = invoiceNumberEntity + ".pdf";
   var pdfDownload = document.createElement("a");
   document.body.appendChild(pdfDownload);

   AngularWebService.getFileWithSuffix("ezbillpdfget",invoiceNumberEntity,"pdf" ).then(function(returnedJSON) {
       var fileBlob = new Blob([returnedJSON.data], {type: 'application/pdf'});
       if (navigator.appVersion.toString().indexOf('.NET') > 0) { // for IE browser
           window.navigator.msSaveBlob(fileBlob, fileName);
       } else { // for other browsers
           var fileURL = window.URL.createObjectURL(fileBlob);
           pdfDownload.href = fileURL;
           pdfDownload.download = fileName;
           pdfDownload.click();      
       }
   });
};

AngularJS 또는 일반 자바 스크립트.


1

이것은 Firefox 4에서 가능하며 팝업 창으로 간주되어 팝업 창이있을 때마다 차단된다는 경고가 있습니다.


2
실제로 firefox4 는 파일 업로드 상태를 많이 향상시킵니다. 내 문제는 Chrome 브라우저에서 동일한 작업을 수행하는 방법입니다.
erick2red

1

다음은 나를 위해 작동하는 솔루션입니다. CSS :

#uploadtruefield {
    left: 225px;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 266px;
    opacity:0;
    -moz-opacity:0;
    filter:alpha(opacity:0);
    width: 270px;
    z-index: 2;
}

.uploadmask {
    background:url(../img/browse.gif) no-repeat 100% 50%;
}
#uploadmaskfield{
    width:132px;
}

"작은"JQuery 도움말이있는 HTML :

<div class="uploadmask">
    <input id="uploadmaskfield" type="text" name="uploadmaskfield">
</div>
<input id="uploadtruefield"  type="file" onchange="$('#uploadmaskfield').val(this.value)" >

실제 업로드 필드에 maskfied가 포함되어 있는지 확인하십시오.



1

input (file)이 형식이 아닌 경우 firing click 이벤트가 파일 대화 상자를 호출한다는 것을 알았습니다.


1

잘하면 이것은 누군가를 도울 것입니다-나는 그것에 대해 머리를 두드리는 데 2 ​​시간을 보냈습니다.

IE8 또는 IE9에서 javascript로 파일 입력을 전혀 트리거하지 않으면 (내가 모두 시도했다고 믿습니다) javascript를 사용하여 양식을 제출하지 못하게하면 자동으로 실패합니다.

정규 제출 단추를 통해 양식을 제출하면 작동하지만 form.submit (); 조용히 실패합니다.

투명한 파일 입력으로 파일 선택 버튼을 오버레이해야했습니다.


또한 파일 입력을 레이블로 래핑하여 IE에서 레이블의 클릭 가능 영역이 전체 버튼 영역을 덮을 수있는 반면 파일 입력 태그 만 있으면 IE에서 클릭 할 수 있습니다.
galatians

1

이것은 나를 위해 일했다 :

<script>
    function sel_file() {
        $("input[name=userfile]").trigger('click');
    }  
</script>

<input type="file" name="userfile" id="userfile" />

<a href="javascript:sel_file();">Click</a>

1

불가능하지 않습니다 :

var evObj = document.createEvent('MouseEvents');
evObj.initMouseEvent('click', true, true, window);  
setTimeout(function(){ document.getElementById('input_field_id').dispatchEvent(evObj); },100);

그러나 어떻게 든 이것이 클릭 이벤트를 통해 호출 된 함수에있는 경우에만 작동합니다.

따라서 다음 설정이있을 수 있습니다.

html :

<div onclick="openFileChooser()" class="some_fancy_stuff">Click here to open image chooser</div>
<input type="file" id="input_img">

자바 스크립트 :

    function openFileChooser() {
      var evObj = document.createEvent('MouseEvents');
      evObj.initMouseEvent('click', true, true, window);  
      setTimeout(function()
      { 
        document.getElementById('input_img').dispatchEvent(evObj);      
      },100);      
    }

createEvent()와는 initMouseEvent()사용되지 않는. 당신은 CustomEvent()지금 사용해야합니다 ...
Alexis Wilke

0

당신이 사용할 수있는

<button id="file">select file</button>
<input type="file" name="file" id="file_input" style="display:none;">
<script>
$('#file').click(function() {
        $('#file_input').focus().trigger('click');
    });
</script>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.