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

有效code

 <form action="wcon/wact" method="post" enctype="multipart/form-data">
配图张数:<input type="text" name="winput" id="winput" WWclass="f1 easyui-textbox">
<div id="wcontainer"></div>
</form>
<script type="text/javascript">
document.getElementById("winput").addEventListener("change", wonchange);
function wonchange() {
var w = document.getElementById("winput").value;
var winnerhtml = '<table>';
for (var wone = 0; wone < w; wone++) {
var newItem = document.createElement("tr")
var wnode = document.createElement("input")
newItem.appendChild(wnode)
wnode.type = "file"
wnode.name = "wimg" + wone
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 + ')" >'
winsert += '</td><td><img id="wpreview' + wone + '" src="" alt="第' + (wone + 1) + '张" >';
winsert += '</td></tr>'
winnerhtml += winsert;
}
winnerhtml += '</table>';
$("#wcontainer").html(winnerhtml);
} function previewFile(wone) {
var preview = document.getElementById('wpreview' + wone);
var wtags = document.getElementsByClassName('where'); var file = wtags[wone].files[0] var reader = new FileReader();
reader.addEventListener("load", function () {
preview.src = reader.result;
}, false); if (file) {
reader.readAsDataURL(file);
}
} </script>

场景code

 <!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>admin-index</title>
<link rel="stylesheet" type="text/css" href="/jquery-easyui-1.5.1/themes/default/easyui.css">
<link rel="stylesheet" type="text/css" href="/jquery-easyui-1.5.1/themes/icon.css">
<script type="text/javascript" src="/jquery-easyui-1.5.1/jquery.min.js"></script>
<script type="text/javascript" src="/jquery-easyui-1.5.1/jquery.easyui.min.js"></script>
</head> <body>
<h2>testing</h2> <div style="margin:20px 0 2em 0;"></div>
<div class="easyui-tabs">
<div title="销量" style="padding:2em">
<p style="font-size:14px">jQuery EasyUI framework helps you build your web pages easily.</p>
</div>
<div title="在售" data-options="iconCls:'icon-ok',closable:true" style="padding:2em">
<p style="font-size:14px">jQuery EasyUI framework helps you build your web pages easily.</p>
</div>
<div title="调价" data-options="iconCls:'icon-redo',closable:true" style="padding:2em">
This is the help content.
</div>
<div title="新品" data-options="iconCls:'icon-add',closable:true" style="padding:2em">
<div class="easyui-panel" title="Ajax Form" style="padding:2em;">
<form id="ff" action="wcon/wact" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>名称:</td>
<td><input name="w0" class="f1 easyui-textbox"></td>
</tr>
<tr>
<td>描述:</td>
<td><input data-options="multiline:true" name="w1" class="f1 easyui-textbox"></td>
</tr>
<tr>
<td>进价:</td>
<td><input name="w2" class="f1 easyui-textbox"></td>
</tr>
<tr>
<td>售价:</td>
<td><input name="w3" class="f1 easyui-textbox"></td>
</tr>
<tr>
<td>开售:</td>
<td><input type="radio" name="w4" value="1" checked>是
&nbsp;&nbsp;<input type="radio" name="w4" value="0">否
</td>
</tr>
<tr>
<td>配图张数:<input type="text" name="winput" id="winput" WWclass="f1 easyui-textbox"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" value="提交"></td>
</tr>
</table>
<div id="wcontainer"></div>
</form>
</div>
</div>
<div title="下架" data-options="iconCls:'icon-remove',closable:true" style="padding:2em">
This is the help content.
</div>
<div title="库存" data-options="iconCls:'icon-lock',closable:true" style="padding:2em">
This is the help content.
</div>
<div title="BI" data-options="iconCls:'icon-more',closable:true" style="padding:2em">
This is the help content.
</div>
<div title="Help" data-options="iconCls:'icon-help',closable:true" style="padding:2em">
This is the help content.
</div>
</div> </body>
</html> <script type="text/javascript">
document.getElementById("winput").addEventListener("change", wonchange);
function wonchange() {
var w = document.getElementById("winput").value;
var winnerhtml = '<table>';
for (var wone = 0; wone < w; wone++) {
var newItem = document.createElement("tr")
var wnode = document.createElement("input")
newItem.appendChild(wnode)
wnode.type = "file"
wnode.name = "wimg" + wone
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 + ')" >'
winsert += '</td><td><img id="wpreview' + wone + '" src="" alt="第' + (wone + 1) + '张" >';
winsert += '</td></tr>'
winnerhtml += winsert;
}
winnerhtml += '</table>';
$("#wcontainer").html(winnerhtml);
} function previewFile(wone) {
var preview = document.getElementById('wpreview' + wone);
var wtags = document.getElementsByClassName('where'); var file = wtags[wone].files[0] var reader = new FileReader();
reader.addEventListener("load", function () {
preview.src = reader.result;
}, false); if (file) {
reader.readAsDataURL(file);
}
} // $(function () {
// $('#ff').form({
// success: function (result) {
// var result = eval('(' + result + ')');
// $.messager.show({
// title: 'Info',
// msg: result.Msg
// });
// }
// });
// }); </script>

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

QQ空间发表日志的图片上传功能实现的更多相关文章

  1. megapix-image插件 使用Canvas压缩图片上传 解决手机端图片上传功能的问题

    最近在弄微信端的公众号.订阅号的相关功能,发现原本网页上用的uploadify图片上传功能到手机端有的手机类型上就不能用了,比如iphone,至于为啥我想应该不用多说了吧(uploadify使用fla ...

  2. Ueditor图片上传功能的配置

    之前的项目中碰到过图片上传功能的配置问题,但是没有记录下来,今天有个朋友突然又问到了我这个问题,当时没想起来之前怎么解决的,后来看了Ueditor的官方文档才回想起来. 官网文档巨多,一般大家遇到问题 ...

  3. java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例

    java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例HttpClient 测试类,提供get post方法实例 package com.zdz.httpclient; i ...

  4. drupal中安装CKEditor文本编辑器,并配置图片上传功能 之 方法二

    drupal中安装CKEditor文本编辑器,并配置图片上传功能 之 方法一 中介绍了ckeditor的安装和配置方法,其实还有另一种新方法,不用IMCE模块. 不过需要ckfinder的JS库,可以 ...

  5. QQ空间魔力日志大全SduSRZ

    大家好~最近,在QQ空间里出现了一种神奇的日志,谁看显示谁的信息,在个人中心显示的是一张图片,在日志里显示的又是另一张图片.这就是传说中的魔力日志.魔力日志从今年的9月份开始盛行,因为具有谁看就针对谁 ...

  6. php模拟用户自动在qq空间发表文章的方法

    我们这里是一个简单的利用php来模拟登录后再到QQ空间发送文章的一个简单的程序,有需要的朋友可以参考,或改进可以给我意见,代码如下: <?php //模拟get post请求函数 http:// ...

  7. FLASH图片上传功能—从百度编辑器UEditor里面提取出来

    为了记录工作中碰到的各种问题,以及学习资料整理,今天开始,将以往的文章进行了一个整理,以后也开始认真的记录学习过程中的各种问题 在HTML里面的文件上传功能一直是个问题,为了实现上传文件大小限制,怎样 ...

  8. Dede后台广告管理模块增加图片上传功能插件

    用户问题:网站广告后台管理非常方便,但是织梦后台的广告管理模块,发布广告时图片没有上传选项,只能用URL地址,很不方便,那么织梦帮就教大家一个方法实现广告图片后台直接上传,非常方便.先给大家看下修改后 ...

  9. 图片上传功能<转>http://blog.csdn.net/u011159417/article/details/50126023

    以前也实现过上传,只不过每次都是,写完之后没有总结,下次遇到时,还要重新写,重新调式,很是浪费时间,所以,今天实现一个上传图片的功能,包括简单的页面和servlet,下次再要写这个功能时,直接拿过来就 ...

随机推荐

  1. 替换元素节点replaceChild()

    替换元素节点replaceChild() replaceChild 实现子节点(对象)的替换.返回被替换对象的引用. 语法: node.replaceChild (newnode,oldnew ) 参 ...

  2. 基于Redis实现延时队列服务

    背景 在业务发展过程中,会出现一些需要延时处理的场景,比如: a.订单下单之后超过30分钟用户未支付,需要取消订单 b.订单一些评论,如果48h用户未对商家评论,系统会自动产生一条默认评论 c.点我达 ...

  3. 基于HTML5堆木头游戏

    今天要来分享一款很经典的HTML5游戏——堆木头游戏,这款游戏的玩法是将木头堆积起来,多出的部分将被切除,直到下一根木头无法堆放为止.这款HTML5游戏的难点在于待堆放的木头是移动的,因此需要你很好的 ...

  4. 一款基于jquery超炫的弹出层提示消息

    今天给大家带来一款基于jquery超炫的弹出层提示消息.这款实例页面初始时,一个go按钮.当单击go按钮时,提示强出层以动画形式出现.效果图如下: 在线预览   源码下载 实现的代码. html代码: ...

  5. love2d杂记9--光照效果

    光照效果需要用shader,这个我一直没学,现在时间较少,先放到这里,有时间我再补,如果大家 发现好的opengl shader教程(如果没记错的love2d用的是glsl 1.1),推荐一下. 这里 ...

  6. C# XCOPY命令 预先生成事件命令行”和“后期生成事件命令行”

    $(ConfigurationName) 当前项目配置的名称(例如,“Debug|Any CPU”). $(OutDir) 输出文件目录的路径,相对于项目目录.这解析为“输出目录”属性的值.它包括尾部 ...

  7. Java单元测试学习

    单元测试的好处 1. 让你写出更好的代码:职业高内聚.低耦合而且接口设计合理的代码才易于测试: 2. 让你在修改代码时更有信心. JUnit4 注解 @Test (expected = Excepti ...

  8. java 错误汇总

    一.怎么处理警告:编码 GBK 的不可映射字符 解决办法是:应该使用-encoding参数指明编码方式:javac -encoding UTF-8 XX.java,这下没警告了,运行也正确了在JCre ...

  9. Go语言中字符串的查找方法小结

    这篇文章主要介绍了Go语言中字符串的查找方法小结,示例的main函数都是导入strings包然后使用其中的方法,需要的朋友可以参考下   1.func Contains(s, substr strin ...

  10. C++标准库之mutex

    互斥锁有可重入.不可重入之分.C++标准库中用mutex表示不可重入的互斥锁,用recursive_mutex表示可重入的互斥锁.为这两个类增加根据时间来阻塞线程的能力,就又有了两个新的互斥锁:tim ...