Reputation: 1344
I want to customize the file input button, so I use this code to create an file input element
function inputBtn(){
var input=document.createElement('input');
input.type="file";
setTimeout(function(){
$(input).click();
},200);
}
<button id="ifile" onclick="inputBtn()">create</button>
However, when I click create, it shows nothing.
Upvotes: 10
Views: 46699
Reputation: 11633
You're creating the new DOM element, but you're not attaching it to the DOM. You need something like:
document.getElementById('target_div').appendChild(input);
You can see how this works in a poorly done JSFiddle here: http://jsfiddle.net/JQHPV/2/
Upvotes: 15