Ich habe ein <input type="file" id="uploadPicture" value="123">
Wenn ich benutze: alert($("#uploadPicture").val());
Es gibt einen leeren Dialog aus.
Sie können es lesen, aber Sie können es nicht setzen. value="123"
wird ignoriert, es wird also erst dann ein Wert angezeigt, wenn Sie darauf klicken und eine Datei auswählen.
Selbst dann wird der Wert wahrscheinlich mit etwas wie c:\fakepath\
entstellt, um die Details des Dateisystems des Benutzers geheim zu halten.
@BozidarS: FileAPI wird heutzutage recht gut unterstützt und bietet eine Reihe nützlicher Optionen.
var file = document.forms['formName']['inputName'].files[0];
//file.name == "photo.png"
//file.type == "image/png"
//file.size == 300821
Sie können es erhalten, indem Sie document.getElementById () verwenden.
var fileVal=document.getElementById("some Id");
alert(fileVal.value);
gibt den Wert von file aus, aber mit fakepath wie folgt
c:\fakepath\filename
$('input[type=file]').val()
Dadurch wird die Datei ausgewählt.
Sie können den Wert jedoch nicht selbst einstellen.
Sie können die Variable value
einer file
-Eingabe nicht wie in value="123"
im Markup festlegen.
Dieses Beispiel zeigt, dass es wirklich funktioniert: http://jsfiddle.net/marcosfromero/7bUba/
Es ist eine alte Frage, aber nur für den Fall, dass jemand auf dieses Profil stößt ...
var input = document.getElementById("your_input");
var file = input.value.split("\\");
var fileName = file[file.length-1];
Keine Notwendigkeit für Regex, jQuery ....
geben Sie dies nicht in der Eingabedatei der Datei = "123" an.
$ (Dokument) .ready (Funktion () {
var img = $('#uploadPicture').val();
});