无法获取输入类型的值= "file" ?



>我有一个<input type="file" id="uploadPicture" value="123">

当我使用时:alert($("#uploadPicture").val());

它会提醒一个空对话框。

>@BozidarS:FileAPI现在得到了很好的支持,并提供了许多有用的选项。

var file = document.forms['formName']['inputName'].files[0];
//file.name == "photo.png"
//file.type == "image/png"
//file.size == 300821

您可以阅读它,但无法设置它。 value="123"将被忽略,因此在您单击它并选择一个文件之前,它不会有值。

即便如此,该值也可能会被诸如c:fakepath之类的东西破坏,以保持用户文件系统的详细信息的私密性。

您可以使用 document.getElementById() 获取它;

var fileVal=document.getElementById("some Id");
alert(fileVal.value);

将给出文件的值,但它给出的假路径如下

c:fakepathfilename
$('input[type=file]').val()

这将使您获得选定的文件。

但是,您无法自行设置该值。

您不能在标记中设置file输入的value,就像对value="123"所做的那样。

这个例子表明它确实有效:http://jsfiddle.net/marcosfromero/7bUba/

文件数组

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])

这是一个老问题,但以防万一有人撞到这个胎面......

var input = document.getElementById("your_input");
var file = input.value.split("\");
var fileName = file[file.length-1];

不需要正则表达式,jQuery....

相关内容

  • 没有找到相关文章

最新更新