我有<input type="file" id="uploadPicture" value="123">
当我使用时:alert($("#uploadPicture").val());
它会提醒空对话框。
答案 0 :(得分:43)
您可以阅读,但不能设置。 value="123"
将被忽略,因此在您点击它并选择文件之前它将没有值。
即使这样,该值也可能会被c:\fakepath\
之类的内容破坏,以保护用户文件系统的详细信息。
答案 1 :(得分:8)
您可以使用document.getElementById();
来获取它var fileVal=document.getElementById("some Id");
alert(fileVal.value);
将给出file的值,但它使用伪路径给出如下
c:\fakepath\filename
答案 2 :(得分:4)
$('input[type=file]').val()
那会让你选择文件。
但是,您无法自行设置该值。
答案 3 :(得分:4)
您无法在标记中设置value
输入的file
,就像使用value="123"
一样。
此示例显示它确实有效: http://jsfiddle.net/marcosfromero/7bUba/
答案 4 :(得分:2)
这是一个古老的问题,但万一有人碰到这个问题......
var input = document.getElementById("your_input");
var file = input.value.split("\\");
var fileName = file[file.length-1];
不需要正则表达式,jQuery ....
答案 5 :(得分:0)
不要在文件输入值=“ 123”中给出该值。
$(document).ready(function(){
var img = $('#uploadPicture').val();
});
答案 6 :(得分:0)
解决方案
document.getElementById("uploadPicture").attributes.value.textContent
答案 7 :(得分:0)
文件数组
let files = document.getElementById('your_input_id').files
第一个文件
let file = document.getElementById('your_input_id').files[0]
显示图片加载
const reader = new FileReader()
let files = document.getElementById('your_input_id').files
reader.onload = async (event) => {
document.getElementById('preview').setAttribute('src', event.target.result)
}
reader.readAsDataURL(files[0])