当前位置: 首页 > 知识库问答 >
问题:

如何在JavaScript中处理上传之前的图像预览?代码不能在同一页上工作两次

益智明
2023-03-14

我正在尝试构建一个web应用程序,可以允许用户在上传之前预览图像,代码工作良好,但如果我复制并粘贴在同一页上,它只能工作一个部分。例如,我将相同的代码放入两个单独的div标记中,其中一个div标记用于web应用程序,而第二个div标记用于应用程序的移动版本。即使我试图更改id,javascript仍然无法加载。

下面是我的代码

<div class="web_version">
           <form action="" method="POST" enctype="multipart/form-data">
             <div class="form-group">
                 <textarea name="answer" id="" class="form-control" placeholder="Type your answer here....."></textarea>
              </div>   <br>
                 <input type="file"  accept="image/*" name="file" id="file"  onchange="loadImage(event)" style="display: none;">
                 <label for="file" style="cursor: pointer;">Photo<img src="my-img.png" alt="" width="40"></label>
                <img id="input" width="200" />

                <script>
                   var loadImage = function(event) {
                     var image = document.getElementById('input');
                     image.src = URL.createObjectURL(event.target.files[0]);
                  };
                </script>
                   <button type="submit" name="solution" class="btn btn-primary">Answer</button><br>
           </form>
        </div>

        <!-- Below is the code which is for the mobile version -->
        <div class="mobile_version">
           <form action="" method="POST" enctype="multipart/form-data">
             <div class="form-group">
                 <textarea name="answer" id="" class="form-control" placeholder="Type your answer here....."></textarea>
              </div>   <br>
                 <input type="file"  accept="image/*" name="file" id="file"  onchange="loadImage(event)" style="display: none;">
                 <label for="file" style="cursor: pointer;">Photo<img src="my-img.png" alt="" width="40"></label>
                <img id="input" width="200" />

                <script>
                   var loadImage = function(event) {
                     var image = document.getElementById('input');
                     image.src = URL.createObjectURL(event.target.files[0]);
                  };
                </script>
                   <button type="submit" name="solution" class="btn btn-primary">Answer</button><br>
           </form>
        </div>

暂时还没有答案

 类似资料:
  • 问题内容: 我想先预览图像,然后再将其上传到服务器。我已经为其编写了一些代码,但是由于某种安全原因,它只能在Internet Explorer中预览,而不能在其他浏览器(如Safari,Chrome,Firefox)中预览。有什么解决方案可以在这些浏览器中预览图像吗? 问题答案: 对于Firefox。由于安全原因,它的路径被截断了。但是,他们提供了其他方法: 以下内容适用于Internet Exp

  • 问题内容: 嗨,我想知道在使用angularjs上传图像之前是否可以预览图像?我正在使用这个图书馆。https://github.com/danialfarid/angular- file-upload 谢谢。这是我的代码: template.html controller.js 问题答案: OdeToCode为这个东西发布了很棒的服务。因此,通过此简单的指令,您可以轻松预览甚至查看进度栏: 它适

  • 问题内容: 我要预览表单中的图像或照片,但是它不起作用,并且HTML代码如下所示: 并在下面合并了JS代码/脚本: 我的表单上有两个主要问题: 1.为什么图像或图片的预览不起作用? 2.当单击保存按钮时,如何从表单粘贴照片,它将链接到我创建的另一个PHP或PHP页面? 问题答案: 试试这个:(用于预览) 在这里工作演示>

  • 问题内容: 我希望能够在上传文件之前预览文件(图像)。预览操作应在浏览器中全部执行,而无需使用Ajax上载图像。 我怎样才能做到这一点? 问题答案: 请看下面的示例代码:

  • 本文向大家介绍Ajax上传图片及上传前先预览功能实例代码,包括了Ajax上传图片及上传前先预览功能实例代码的使用技巧和注意事项,需要的朋友参考一下 手头上有几个小项目用到了easyUI,一开始决定使用easyUI就注定了项目整体上前后端分离,基本上所有的请求都采用Ajax来完成。在文件上传的时候用到了Ajax上传文件,以及图片在上传之前的预览效果,解决了这两个小问题,和小伙伴们分享下。 上传之前的

  • 我在Node.js应用程序中使用multer和cloudinary上传图像。当我处于开发模式时,它工作得非常好,但在部署到heroku后,我在浏览器控制台中得到错误,因为服务器响应的状态是503(服务不可用)。当我检查heroku日志时,它显示为at=error code=h12desc=“request timeout”method=post path=“/api/users/upload/av