Ответ 1
Вам нужно использовать значение val, а не значение.
$("#fileinput").val();
Из того, что я готов, вы должны иметь возможность использовать свойство value для поля ввода файла, чтобы получить заданный путь этого поля. Но когда я это делаю:
$('#fileinput').value()
Я получаю 'undefined'. Идентификатор поля установлен на "fileinput", я уверен. У кого-нибудь есть мысли о том, почему это может не работать для меня?
И, кстати, это работает:
var d = document.getElementById('AttachmentFile');
alert(d.value);
Итак, я думаю, что это имеет какое-то отношение к тому, как работает jQuery, который я не совсем понимаю.
Спасибо!
Вам нужно использовать значение val, а не значение.
$("#fileinput").val();
В Chrome 8 путь всегда "C:\fakepath" с правильным именем файла.
его не .val(), если вы хотите получить файл /home/user/default.png, он получит с .val() только default.png
Я не думаю, что есть реальный законный способ получить доступ к этому через DOM. Это будет угроза безопасности, которую браузеры в последнее время заблокировали, чтобы предотвратить загрузку приводов.
Я думаю, что это должно быть
$('#fileinput').val();
JQuery работает по-разному в IE и других браузерах. Вы можете получить доступ к последнему имени файла, используя
alert($('input').attr('value'));
В IE приведенное выше предупреждение даст полный путь, но в других браузерах он даст только имя файла.
Не могли бы вы также сделать
$(input[type=file]).val()
Я пробовал это, и он работает:
yourelement.next().val();
yourelement может быть:
$('#elementIdName').next().val();
Удачи!