【发布时间】:2016-12-24 00:11:05
【问题描述】:
我有一张已经存在的图片,我想上传一张新图片并替换旧图片,但此代码不起作用。 (我有一个按钮,其 onclick 属性是 photoSave()。)有人能说出这段 Javascript 代码有什么问题并写一个可能的解决方案吗?
这是代码的重要部分:
<div class="row">
<div class="col-md-12">
<div class="profilePic" id="profilePic">
<img src="prof.jpg" id="pictureToShow" />
</div>
</div>
</div>
<br>
<div class="row">
<div class="col-md-12">
<div id="photoButton">
<label class="btn btn-default btn-file" style="width:220px" onclick="photoChange()">
Profilkép megváltoztatása <input type="file" accept="image/*" style="display: none" id="newPhoto">
</label>
</div>
</div>
</div>
<script type="text/javascript">
function photoChange() {
document.getElementById("photoButton").innerHTML = '<button type="button" style="width:110px" class="btn btn-success btn-s" onclick="photoSave()">Mentés</button><button type="button" style="width:110px" class="btn btn-danger btn-s" onclick="photoSave()">Mégse</button>'
}
function photoSave() {
document.getElementById("photoButton").innerHTML = '<label class="btn btn-default btn-file" style="width:220px" onclick="photoChange()">Profilkép megváltoztatása<input type="file" accept="image/*" style="display: none"></label>'
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#pictureToShow').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
}
</script>
【问题讨论】:
-
文件输入没有
src,您必须使用 FileReader 才能查看所选图像:stackoverflow.com/questions/19005678/… -
按钮的 onclick 属性是 photoChange() 而不是 photoSave()。
-
@Max 我知道,我有两个按钮。
标签: javascript html image input