Código Javascript:
Ver original
$.fn.si = function() { $.support = { opacity: !($.browser.msie && /MSIE 6.0/.test(navigator.userAgent)) }; if ($.support.opacity) { $(this).each(function(i) { if ($(this).is(":file")) { var $input = $(this); $(this).wrap('<div class="cabinet" id="cabinet'+i+'"></div>'); $("div#cabinet"+i) .wrap('<div class="si"></div>') .after('<div class="uploadButton"><div></div></div><input type="text" class="selectedFile" value="" />') .live("mousemove", function(e) { if (typeof e == 'undefined') e = window.event; if (typeof e.pageY == 'undefined' && typeof e.clientX == 'number' && document.documentElement) { e.pageX = e.clientX + document.documentElement.scrollLeft; e.pageY = e.clientY + document.documentElement.scrollTop; }; var ox = oy = 0; var elem = this; if (elem.offsetParent) { ox = elem.offsetLeft; oy = elem.offsetTop; while (elem = elem.offsetParent) { ox += elem.offsetLeft; oy += elem.offsetTop; }; }; }); $(this).change(function() { $container = $(this).closest("div.si"); $("input.selectedFile", $container).html($(this).val()); }) } }); } };
Yo ya lo he personalizado un poco y me encontré un problema a la hora de examinar el archivo, queda mal colocado en el input, por ejemplo:
<input class="selectedFile" type="text" value="">archivo.exe</input>
he tratado de modificar el código para que el archivo examinado quede entre "" del value pero no he podido acomodarlo ni tampoco he podido quitar el </input>
Espero que me aya expresado atendible mente bien
Saludos y gracias de antemano