2011-05-24 171 views
25

No puedo entender de todos modos para eliminar el texto "No archivo seleccionado" que aparece junto a mis entradas con el tipo = "archivo".de todos modos para eliminar "ningún archivo seleccionado" de tipo = entradas de archivo?

¿Ustedes saben de alguna manera? Safari Screenshot

+1

añadir esto a la entrada parecía funcionar en webkit .... style = "width: 80px; altura: 25px; overflow: hidden; " – Peter

+0

Posible duplicado: http://stackoverflow.com/questions/1084925/input-type-file-show-only-button –

Respuesta

8

No hay una forma de navegador cruzado para hacer esto. El texto "sin archivo seleccionado" se encuentra en la parte del widget definida por la implementación, y no creo que la mayoría de los navegadores ofrezcan gran cantidad de personalización específica para el navegador. Por otro lado, simplemente podría usar CSS para cubrir el texto con algo cuando el atributo de valor esté vacío.

8

Puede hacerlo definiendo un ancho de la entrada y ocultando el contenido excedente (el texto "No archivo seleccionado" no deseado no seleccionado).

input { 
    width: 132px; 
    overflow:hidden; 
} 

Here is the demonstration on jsfiddle.

Cuidado: cada idioma tiene su propio texto predeterminado y puede presentar diferentes tamaños de entrada. In brazilian portuguese que 132px de ancho está bien!

Mi respuesta fue basada en this similar question on stackoverflow.

+0

No funciona en IE –

+0

funcionó para mí ... en la tabla para inserción múltiple. –

0

Este es un truco muy bueno y es mucho más limpio.

HTML

<div id="file_info' style='display:inline;'>Browse</div> 
<input type="file" name='file[]' multiple style='opacity: 0;' onchange='displayFileName()'/> 

JS

function displayFileName() { 
    var files = $('input[type="file"]')[0].files; 
    document.getElementById('file_info').innerHTML = files.length + " images to upload";` 
} 
1
CSS 
<style> 
#image_file{ 
    position: relative; 
    width: 188px; 
    border: 1px solid #BBB; 
    margin: 1px; 
    cursor: pointer; 
    float: left; 
    } 
</style> 

HTML 
<input id="image_file" onclick="getFile()" onfocus="this.blur()" value=""/> 
<div style='height: 0px;width: 0px; overflow:hidden;'> 
    <input type="file" id="PinSpot_file"> 
</div> 
<input type="button" onclick="getFile()" style="background-color: #DDD;" value="Browser" > 


JAVASCRIPT 
function getFile(){ 
    document.getElementById("PinSpot_file").click(); 
} 

// Event when change fields 
$('#PinSpot_file').live('change', function(e) {  
    var file = this.value; 
    var fileName = file.split("\\"); 
    document.getElementById("image_file").value = fileName[fileName.length-1]; 

    //AJAX 
} 
32
input[type='file'] { 
    color: transparent; 
} 

Disfruta

+0

Mouseover o cambio de cursor todavía está allí. – MERose

Cuestiones relacionadas