JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css">
<FORM METHOD="post" ACTION="[email protected]" ENCTYPE="multipart/form-data">
<input id="uploadFile" placeholder="Add files from My Computer"/>
<div class="fileUpload btn btn-primary">
<span>Browse</span>
<input id="uploadBtn" type="file" class="upload" multiple="multiple" name="browsefile"/>
</div>
<div id="upload_prev"></div>
</FORM>
CSS
.fileUpload {
position: relative;
overflow: hidden;
margin: 10px 3px;
}
.fileUpload input.upload {
position: absolute;
top: 0;
right: 0;
margin: 0;
padding: 0;
font-size: 20px;
cursor: pointer;
opacity: 0;
background-color:#fff;
filter: alpha(opacity=0);
}
.filenameupload {
width:98%;
}
#upload_prev {
border:thin solid #000;
width: 65%;
padding:0.5em 1em 1.5em 1em;
}
#upload_prev span {
display: flex;
padding: 0 5px;
font-size:12px;
}
p.close {
margin: 0 5px 0 5px;
cursor: pointer;
padding-bottom:0;
}
JavaScript
$(document).on('click','.close',function(){
$(this).parents('span').remove();
})
document.getElementById('uploadBtn').onchange = uploadOnChange;
function uploadOnChange() {
document.getElementById("uploadFile").value = this.value;
var filename = this.value;
var lastIndex = filename.lastIndexOf("\\");
if (lastIndex >= 0) {
filename = filename.substring(lastIndex + 1);
}
var files = $('#uploadBtn')[0].files;
for (var i = 0; i < files.length; i++) {
$("#upload_prev").append('<span>'+'<div class="filenameupload">'+files[i].name+'</div>'+'<p class="close" >X</p></span>');
}
document.getElementById('filename').value = filename;
}