I have a file input button, instead of browse I want to show Font Awesome upload icon there but whatever I tried nothing gave me result.
Here is what I've tried:
.select-wrapper {
background: url(http://s10.postimg.org/4rc0fv8jt/camera.png) no-repeat;
background-size: cover;
display: block;
position: relative;
width: 33px;
height: 26px;
}
#image_src {
width: 26px;
height: 26px;
margin-right: 100px;
opacity: 0;
filter: alpha(opacity=0); /* IE 5-7 */
}
<div class="container">
<span class="select-wrapper">
<input type="file" name="image_src" id="image_src" />
</span>
</div>
By above code I only get a picture instead of browse button, but I want to use Font Awesome icon.
You could hide file input
with display: none
and create custom button or in this case font-awesome icon that will trigger input. Also you can use span
to display input's value that will change on input value change.
$("i").click(function () {
$("input[type='file']").trigger('click');
});
$('input[type="file"]').on('change', function() {
var val = $(this).val();
$(this).siblings('span').text(val);
})
.element {
display: inline-flex;
align-items: center;
}
i.fa-camera {
margin: 10px;
cursor: pointer;
font-size: 30px;
}
i:hover {
opacity: 0.6;
}
input {
display: none;
}
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css" rel="stylesheet"/>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="element">
<i class="fa fa-camera"></i><span class="name">No file selected</span>
<input type="file" name="" id="">
</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With