V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
commoccoom
V2EX  ›  JavaScript

表单中图片上传预览和删除功能

  •  
  •   commoccoom · 2020-03-09 21:50:22 +08:00 · 1924 次点击
    这是一个创建于 1701 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近整一个表单,需要带有图片上传,预览和删除功能,后端是 php 的 ci 框架,想用传统的 js 和 jquery 实现,不使用前端框架,也找了一些资料,看得糊涂。想问下有什么适合新手,友好度高一点的教程没有。

    现在用的是最基本的方法,可以上传多个图片,但是想把上传的多个图片做成幻灯片一样可以左右切换预览,并且带有删除当前显示图片这个功能

    function preview_image() 
    {
     var total_file=document.getElementById("upload_file").files.length;
     for(var i=0;i<total_file;i++)
     {
      $('#image_preview').append("<img style='width: 480px;height:320px;' src='"+URL.createObjectURL(event.target.files[i])+"'><br>");
     }
    }
    

    上传之后的图片怎样才能用 js 来切换呢?

    <div id="image_preview">
        <img style="width: 480px;height:320px;" src="blob:http://www.xxx.cn/22ba8853-006a-48af-9414-c4419bf4fda2">
        <img style="width: 480px;height:320px;" src="blob:http://www.xxx.cn/a17bab07-863e-4ff8-b5ef-ca4de1f225c2">
        <img style="width: 480px;height:320px;" src="blob:http://www.xxx.cn/67af359d-2ece-4ead-9e86-da38243d149f">
    </div>
    

    之前自己写过的 js 切换图片是在 <img> 标签里加入了data=0 data=1 之类的,现在是上传的图片,我应该怎样做标记才能使用 js 来切换图片呢?

    4 条回复    2020-03-11 18:35:18 +08:00
    xiaoming1992
        1
    xiaoming1992  
       2020-03-09 22:25:00 +08:00 via Android
    这个问题我没有答案,但是给你个建议:

    我没用过 php,不知道 php 能不能做到,但是我建议你搞个前后端分离,前端用现在流行的 r/v/ng 吧。这些框架之所以会流行,就是因为能极大地减少前端的工作量,降低心智负担。用 jq 也能做,但是太繁琐太累了。
    wenzichel
        2
    wenzichel  
       2020-03-09 22:26:52 +08:00
    预览的话,完全不用将图片传到后端才预览,使用 js 中的 fileReader,就可以在前端实现预览和查看原图的功能。你可以看下这篇文章

    https://www.xiabingbao.com/html5/2015/05/20/html5-filereader-natural.html
    chenliangngng
        3
    chenliangngng  
       2020-03-10 12:19:25 +08:00
    data=0 data=1 这是 bootstrap 吧,可以实现你的功能。你看下这个框架怎么玩,适合新手
    commoccoom
        4
    commoccoom  
    OP
       2020-03-11 18:35:18 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3433 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 04:48 · PVG 12:48 · LAX 20:48 · JFK 23:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.