为啥图像名称未显示在表单字段中以进行更新?
Posted
技术标签:
【中文标题】为啥图像名称未显示在表单字段中以进行更新?【英文标题】:Why image name not showing in the form field for update?为什么图像名称未显示在表单字段中以进行更新? 【发布时间】:2021-08-05 23:04:55 【问题描述】:我想知道为什么图像名称没有出现在文件字段的值中,而当我尝试使用图像名称显示的不同类型的字段时。
我有一个 jQuery,它从数据库中感知图像名称并将值放在表单字段中,但它在字段类型文本上工作正常,而不是字段类型文件我该如何解决它
看我的单行代码
$('#file').value(data.image);
//My input field not replaced by that image, it replace when I change type="file" to type="text"
<input type="file" name="file" id="file">
【问题讨论】:
您不能将值放入输入类型文件中。最好的方法是使用数据库中的值设置隐藏输入。 【参考方案1】:使用DataTransfer()
设置输入类型文件的值。
在您的情况下,假设data.image
是yourImageFromDatabase.jpg
。
let sample = new DataTransfer();
sample.items.add(new File(['yourFile'], 'yourImageFromDatabase.jpg')); //get "yourImageFromDatabase" value from `data.image`
file.files = sample.files;
// Get filename
let name = $('#file').val().split('\\').pop();;
console.log(name);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" name="file" id="file">
【讨论】:
file.files这个file关键字是什么意思,因为它说的是未定义的文件错字@Shree 运行 sn-p 就可以了。阅读有关DataTransfer() 的文档。了解您的代码是如何工作的。这是最好的编程方式。祝你好运。以上是关于为啥图像名称未显示在表单字段中以进行更新?的主要内容,如果未能解决你的问题,请参考以下文章