zoukankan      html  css  js  c++  java
  • QQ空间发表日志的图片上传功能实现

     w间接促使了用户注意图片的顺序,进一步优化的方向的是手指触动或鼠标点击来同时进行图片的增删和调序,避免精确的数字输入。

    有效code

     1 <form action="wcon/wact" method="post" enctype="multipart/form-data">
     2     配图张数:<input type="text" name="winput" id="winput" WWclass="f1 easyui-textbox">
     3     <div id="wcontainer"></div>
     4 </form>
     5 <script type="text/javascript">
     6     document.getElementById("winput").addEventListener("change", wonchange);
     7     function wonchange() {
     8         var w = document.getElementById("winput").value;
     9         var winnerhtml = '<table>';
    10         for (var wone = 0; wone < w; wone++) {
    11             var newItem = document.createElement("tr")
    12             var wnode = document.createElement("input")
    13             newItem.appendChild(wnode)
    14             wnode.type = "file"
    15             wnode.name = "wimg" + wone
    16             var winsert = '<tr><td><span style="color: red">第' + (wone + 1) + '张</span></td><td><input class="where" type="file" name="wimg' + wone + '" id="wimg' + wone + '" onchange="previewFile(' + wone + ')" >'
    17             winsert += '</td><td><img id="wpreview' + wone + '"    src="" alt="第' + (wone + 1) + '张" >';
    18             winsert += '</td></tr>'
    19             winnerhtml += winsert;
    20         }
    21         winnerhtml += '</table>';
    22         $("#wcontainer").html(winnerhtml);
    23     }
    24 
    25     function previewFile(wone) {
    26         var preview = document.getElementById('wpreview' + wone);
    27         var wtags = document.getElementsByClassName('where');
    28 
    29         var file = wtags[wone].files[0]
    30 
    31         var reader = new FileReader();
    32         reader.addEventListener("load", function () {
    33             preview.src = reader.result;
    34         }, false);
    35 
    36         if (file) {
    37             reader.readAsDataURL(file);
    38         }
    39     }
    40 
    41 </script>

    场景code

      1 <!DOCTYPE html>
      2 <html>
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>admin-index</title>
      6     <link rel="stylesheet" type="text/css" href="/jquery-easyui-1.5.1/themes/default/easyui.css">
      7     <link rel="stylesheet" type="text/css" href="/jquery-easyui-1.5.1/themes/icon.css">
      8     <script type="text/javascript" src="/jquery-easyui-1.5.1/jquery.min.js"></script>
      9     <script type="text/javascript" src="/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>
     10 </head>
     11 
     12 
     13 <body>
     14 <h2>testing</h2>
     15 
     16 <div style="margin:20px 0 2em 0;"></div>
     17 <div class="easyui-tabs">
     18     <div title="销量" style="padding:2em">
     19         <p style="font-size:14px">jQuery EasyUI framework helps you build your web pages easily.</p>
     20     </div>
     21     <div title="在售" data-options="iconCls:'icon-ok',closable:true" style="padding:2em">
     22         <p style="font-size:14px">jQuery EasyUI framework helps you build your web pages easily.</p>
     23     </div>
     24     <div title="调价" data-options="iconCls:'icon-redo',closable:true" style="padding:2em">
     25         This is the help content.
     26     </div>
     27     <div title="新品" data-options="iconCls:'icon-add',closable:true" style="padding:2em">
     28         <div class="easyui-panel" title="Ajax Form" style="padding:2em;">
     29             <form id="ff" action="wcon/wact" method="post" enctype="multipart/form-data">
     30                 <table>
     31                     <tr>
     32                         <td>名称:</td>
     33                         <td><input name="w0" class="f1 easyui-textbox"></td>
     34                     </tr>
     35                     <tr>
     36                         <td>描述:</td>
     37                         <td><input data-options="multiline:true" name="w1" class="f1 easyui-textbox"></td>
     38                     </tr>
     39                     <tr>
     40                         <td>进价:</td>
     41                         <td><input name="w2" class="f1 easyui-textbox"></td>
     42                     </tr>
     43                     <tr>
     44                         <td>售价:</td>
     45                         <td><input name="w3" class="f1 easyui-textbox"></td>
     46                     </tr>
     47                     <tr>
     48                         <td>开售:</td>
     49                         <td><input type="radio" name="w4" value="1" checked> 50                             &nbsp;&nbsp;<input type="radio" name="w4" value="0"> 51                         </td>
     52                     </tr>
     53                     <tr>
     54                         <td>配图张数:<input type="text" name="winput" id="winput" WWclass="f1 easyui-textbox"></td>
     55                     </tr>
     56                     <tr>
     57                         <td></td>
     58                         <td><input type="submit" value="提交"></td>
     59                     </tr>
     60                 </table>
     61                 <div id="wcontainer"></div>
     62             </form>
     63         </div>
     64     </div>
     65     <div title="下架" data-options="iconCls:'icon-remove',closable:true" style="padding:2em">
     66         This is the help content.
     67     </div>
     68     <div title="库存" data-options="iconCls:'icon-lock',closable:true" style="padding:2em">
     69         This is the help content.
     70     </div>
     71     <div title="BI" data-options="iconCls:'icon-more',closable:true" style="padding:2em">
     72         This is the help content.
     73     </div>
     74     <div title="Help" data-options="iconCls:'icon-help',closable:true" style="padding:2em">
     75         This is the help content.
     76     </div>
     77 </div>
     78 
     79 
     80 </body>
     81 </html>
     82 
     83 <script type="text/javascript">
     84     document.getElementById("winput").addEventListener("change", wonchange);
     85     function wonchange() {
     86         var w = document.getElementById("winput").value;
     87         var winnerhtml = '<table>';
     88         for (var wone = 0; wone < w; wone++) {
     89             var newItem = document.createElement("tr")
     90             var wnode = document.createElement("input")
     91             newItem.appendChild(wnode)
     92             wnode.type = "file"
     93             wnode.name = "wimg" + wone
     94             var winsert = '<tr><td><span style="color: red">第' + (wone + 1) + '张</span></td><td><input class="where" type="file" name="wimg' + wone + '" id="wimg' + wone + '" onchange="previewFile(' + wone + ')" >'
     95             winsert += '</td><td><img id="wpreview' + wone + '"    src="" alt="第' + (wone + 1) + '张" >';
     96             winsert += '</td></tr>'
     97             winnerhtml += winsert;
     98         }
     99         winnerhtml += '</table>';
    100         $("#wcontainer").html(winnerhtml);
    101     }
    102 
    103     function previewFile(wone) {
    104         var preview = document.getElementById('wpreview' + wone);
    105         var wtags = document.getElementsByClassName('where');
    106 
    107         var file = wtags[wone].files[0]
    108 
    109         var reader = new FileReader();
    110         reader.addEventListener("load", function () {
    111             preview.src = reader.result;
    112         }, false);
    113 
    114         if (file) {
    115             reader.readAsDataURL(file);
    116         }
    117     }
    118 
    119 
    120     //    $(function () {
    121     //        $('#ff').form({
    122     //            success: function (result) {
    123     //                var result = eval('(' + result + ')');
    124     //                $.messager.show({
    125     //                    title: 'Info',
    126     //                    msg: result.Msg
    127     //                });
    128     //            }
    129     //        });
    130     //    });
    131 
    132 </script>

    w本地多图预览、多图上传、排序,用户仅需两次操作:决定选哪几张图和图的顺序,尽量减少用户操作。

  • 相关阅读:
    『Nltk』常用方法
    『Kaggle』分类任务_决策树&集成模型&DataFrame向量化操作
    『Pandas』数据读取&DataFrame切片
    『TensotFlow』RNN中文文本_下_暨研究生开学感想
    『Scrapy』爬取斗鱼主播头像
    『Scrapy』爬取腾讯招聘网站
    『TensorFlow』梯度优化相关
    『Scrapy』终端调用&选择器方法
    『Scrapy』全流程爬虫demo
    使用VS2013、TFS2013和Git进行分布式团队协作
  • 原文地址:https://www.cnblogs.com/rsapaper/p/6371656.html
Copyright © 2011-2022 走看看