Não é possível obter valor do tipo de input = “arquivo”?

Eu tenho um

Quando estou usando: alert($("#uploadPicture").val());

Ele alerta uma checkbox de diálogo vazia.

Você pode lê-lo, mas não pode defini- lo. value="123" será ignorado, por isso não terá valor até que você clique nele e escolha um arquivo.

Mesmo assim, o valor provavelmente será mutilado com algo como c:\fakepath\ para manter os detalhes do sistema de arquivos do usuário privados.

@BozidarS: FileAPI é suportado muito bem hoje em dia e fornece uma série de opções úteis.

 var file = document.forms['formName']['inputName'].files[0]; //file.name == "photo.png" //file.type == "image/png" //file.size == 300821 

Você pode obtê-lo usando document.getElementById ();

 var fileVal=document.getElementById("some Id"); alert(fileVal.value); 

vai dar o valor do arquivo, mas dá com fakepath da seguinte forma

 c:\fakepath\filename 
 $('input[type=file]').val() 

Isso vai te dar o arquivo selecionado.

No entanto, você não pode definir o valor sozinho.

Você não pode definir o value de uma input de file na marcação, como você fez com value="123" .

Este exemplo mostra que realmente funciona: http://jsfiddle.net/marcosfromero/7bUba/

É uma pergunta antiga, mas só para o caso de alguém se deparar com este piso …

 var input = document.getElementById("your_input"); var file = input.value.split("\\"); var fileName = file[file.length-1]; 

Não há necessidade de regex, jQuery ….