У меня есть <input type="file" id="uploadPicture" value="123">
Когда я использую: alert($("#uploadPicture").val());
Он выводит пустой диалог.
У меня есть <input type="file" id="uploadPicture" value="123">
Когда я использую: alert($("#uploadPicture").val());
Он выводит пустой диалог.
Вы можете прочитать его, но вы не можете установить его. value="123"
будет проигнорирован, поэтому он не будет иметь значение, пока вы не нажмете на него и не выберите файл.
Даже тогда значение, скорее всего, будет искажено чем-то вроде c:\fakepath\
, чтобы сохранить личные данные пользовательской файловой системы.
@BozidarS: FileAPI поддерживается в настоящее время и предоставляет ряд полезных параметров.
var file = document.forms['formName']['inputName'].files[0];
//file.name == "photo.png"
//file.type == "image/png"
//file.size == 300821
Вы можете получить его с помощью document.getElementById();
var fileVal=document.getElementById("some Id");
alert(fileVal.value);
даст значение файла, но оно дает с fakepath следующим образом
c:\fakepath\filename
$('input[type=file]').val()
Это даст вам выбранный файл.
Однако вы не можете установить значение самостоятельно.
Вы не можете установить value
для ввода file
в разметке, например, с value="123"
.
Этот пример показывает, что он действительно работает: http://jsfiddle.net/marcosfromero/7bUba/
Это старый вопрос, но на всякий случай кто-то ударился об этом протекте...
var input = document.getElementById("your_input");
var file = input.value.split("\\");
var fileName = file[file.length-1];
Нет необходимости в регулярном выражении, jQuery....
не указывайте это в файле входного значения = "123".
$(document).ready(function(){
var img = $('#uploadPicture').val();
});
Удалить value = "123" вещь будет великолепно выглядеть. Затем попробуйте:
$("file_selector").val();
Еще одна проблема. Вы получите один файл c:\fakepath\yourfile.extension.