Подтвердить что ты не робот

Как использовать jQuery для получения текущего значения поля ввода файла

Из того, что я готов, вы должны иметь возможность использовать свойство value для поля ввода файла, чтобы получить заданный путь этого поля. Но когда я это делаю:

 $('#fileinput').value()

Я получаю 'undefined'. Идентификатор поля установлен на "fileinput", я уверен. У кого-нибудь есть мысли о том, почему это может не работать для меня?

И, кстати, это работает:

var d = document.getElementById('AttachmentFile');
alert(d.value);

Итак, я думаю, что это имеет какое-то отношение к тому, как работает jQuery, который я не совсем понимаю.

Спасибо!

4b9b3361

Ответ 1

Вам нужно использовать значение val, а не значение.

$("#fileinput").val();

Ответ 2

В Chrome 8 путь всегда "C:\fakepath" с правильным именем файла.

Ответ 3

его не .val(), если вы хотите получить файл /home/user/default.png, он получит с .val() только default.png

Ответ 4

Я не думаю, что есть реальный законный способ получить доступ к этому через DOM. Это будет угроза безопасности, которую браузеры в последнее время заблокировали, чтобы предотвратить загрузку приводов.

Ответ 5

Я думаю, что это должно быть

 $('#fileinput').val();

Ответ 6

JQuery работает по-разному в IE и других браузерах. Вы можете получить доступ к последнему имени файла, используя

alert($('input').attr('value'));

В IE приведенное выше предупреждение даст полный путь, но в других браузерах он даст только имя файла.

Ответ 7

Не могли бы вы также сделать

$(input[type=file]).val()

Ответ 8

Я пробовал это, и он работает:

 yourelement.next().val();

yourelement может быть:

$('#elementIdName').next().val();

Удачи!