Ok, I tested this in the newest FF, Opera, Chrome, IE8, IE9, IE10, IE11. Its working everywhere.
HTML:
jQuery:
$('#button').click(function() {
$('input[type=file]').trigger('click');
});
$('input[type=file]').change(function() {
$('input[type=text]').val($(this).val());
});
CSS:
input[type=file] {
display: block;
height: 0;
width: 0;
}
Working DEMO