SL_Shuai
2020-08-28 14:26
采纳率: 48.1%
浏览 125

input上传图片,但是只一张预览图,我想要显示两个预览图,另外一处该怎么获取显示?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <style type="text/css">
        *{margin: 1%}
    </style>
    <title>Document</title>
    <style>
    .div_imgall {border:1px solid #cccccc;width:120px;height:120px;position:relative;}
    .input_flie {display:block;width:100%;height:100%;opacity:0;z-index:100;position:absolute;left:0;top:0;}
    .div_shuline {position:absolute;width:50%;height:2%;background-color:#cccccc;left:25%;top:49%;z-index:-1;}
    .div_hengline {position:absolute;width:2%;height:50%;background-color:#cccccc;left:49%;top:25%;z-index:-1;}
    </style>
</head>
<body>
<form method="post" action="./upimage.php" enctype="multipart/form-data">
    上传文件到数据库:
    <div class="div_imgall">
        <input type="file" class="input_flie" name="form_data" id="chooseImg"/>
        <div class="jiahao">
           <div class="div_shuline"></div>
            <div class="div_hengline"></div> 
        </div>
        <img src="" alt="" id="preview" style="width: 100px;height: 100px;padding:8px;z-index: 6;" />
    </div>
    <input type="submit" name="submit" value="提交">
    <img src="" id="preview" style="width: 150px;height: 150px;margin-top: 100px;margin-left: 100px;">
</form>
<script>
var inp=document.getElementById("chooseImg")
inp.onchange=function(){
    var file=this.files[0]
    console.log(file)
    imageUrl = URL.createObjectURL(file);
    image = document.getElementById("preview");
    image.src = imageUrl;
}
</script>
</body>
</html>

代码中有两个img,想要将input上传的图片显示在两处,但是只有上传的方框中那个img有图片,外面的img没有图片,怎么让外面的这个img也获取到上传的图片?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 阡路陌人 2020-08-28 15:16
    已采纳

    一个小bug,id重复;可以将外面的img的id名修改下,例如:preview1;

    image1 = document.getElementById("preview1");
    image1.src = imageUrl;
    

    或者将两个img设置同名的class,例如:preview,不过这 document.getElementsByClassName("preview")是一个数组,到时候赋值的时候就需要遍历赋值啦。例如:

    let arr = document.getElementsByClassName("preview");
    arr.forEach(item => {
        item.src = imageUrl
    })
    
    点赞 打赏 评论
  • jingluan666 2020-08-28 14:58

    将那个img标签加个id='img1'

    然后在上面的image.src=imageUrl;的后面加上

    document.getElementById("img1").src=imageUrl;
    

    两个图片的处理方式不是一样的吗?

    图片说明

    点赞 打赏 评论