【发布时间】:2023-03-03 09:44:02
【问题描述】:
我目前对代码一无所知,目前我正在自学。当用户选择要上传的文件时,我希望能够更改网页上的图像。有很多这样的例子,我一直在玩答案Show an image preview before upload
但是,我有一个包含多个上传按钮的页面,每个按钮都有自己的关联图像。上面的示例监视特定输入文件元素的更改,然后触发并更新图像元素。
我正在尝试基于上述创建一个 JS 函数,我将上传的文件对象和图像元素 id 传递给,由文件输入元素的 onChange 事件调用。
感觉好像应该很简单,但它突出了我的严重缺乏理解。非常感谢任何帮助。
编辑:
我试过了(请不要笑……)
HTML
<input type="file" id="file_n" onChange="swapImage(this,'image_n)/>
<img id="image_n" />
Javascript
function swapImage(e1, imgID) {
var reader = new FileReader();
reader.onload = function (e1) {
// get loaded data and render thumbnail.
document.getElementById(imgID).src = e.target.result;
};
// read the image file as a data URL.
reader.readAsDataURL(this.files[0]);
};
为了清楚 file_n 和 image_n 应该代表每个的倍数,例如file_1、file_2、file_3 和对应的 image_1、image_2、image_3,因此在我看来,为什么将它们传递给函数似乎是可行的方法。
【问题讨论】:
-
到目前为止,您在代码方面尝试过什么?可以发在这里吗?
-
我的主要问题是我缺乏 JS 技能。我正在尝试使用我链接到的原始代码,但不知道如何使它工作我;将我的尝试添加到上面的原始帖子中
-
这是一个为您提供正确变量命名的工作示例:jsfiddle.net/qzksc9o1/1
-
谢谢,但这与我最初链接的源相同,因为它仍然链接到 1 个图像 ID 和 1 个输入文件 ID。
标签: javascript php html