QQ空间发表日志的图片上传功能实现
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>是
<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空间发表日志的图片上传功能实现的更多相关文章
- megapix-image插件 使用Canvas压缩图片上传 解决手机端图片上传功能的问题
最近在弄微信端的公众号.订阅号的相关功能,发现原本网页上用的uploadify图片上传功能到手机端有的手机类型上就不能用了,比如iphone,至于为啥我想应该不用多说了吧(uploadify使用fla ...
- Ueditor图片上传功能的配置
之前的项目中碰到过图片上传功能的配置问题,但是没有记录下来,今天有个朋友突然又问到了我这个问题,当时没想起来之前怎么解决的,后来看了Ueditor的官方文档才回想起来. 官网文档巨多,一般大家遇到问题 ...
- java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例
java模拟表单上传文件,java通过模拟post方式提交表单实现图片上传功能实例HttpClient 测试类,提供get post方法实例 package com.zdz.httpclient; i ...
- drupal中安装CKEditor文本编辑器,并配置图片上传功能 之 方法二
drupal中安装CKEditor文本编辑器,并配置图片上传功能 之 方法一 中介绍了ckeditor的安装和配置方法,其实还有另一种新方法,不用IMCE模块. 不过需要ckfinder的JS库,可以 ...
- QQ空间魔力日志大全SduSRZ
大家好~最近,在QQ空间里出现了一种神奇的日志,谁看显示谁的信息,在个人中心显示的是一张图片,在日志里显示的又是另一张图片.这就是传说中的魔力日志.魔力日志从今年的9月份开始盛行,因为具有谁看就针对谁 ...
- php模拟用户自动在qq空间发表文章的方法
我们这里是一个简单的利用php来模拟登录后再到QQ空间发送文章的一个简单的程序,有需要的朋友可以参考,或改进可以给我意见,代码如下: <?php //模拟get post请求函数 http:// ...
- FLASH图片上传功能—从百度编辑器UEditor里面提取出来
为了记录工作中碰到的各种问题,以及学习资料整理,今天开始,将以往的文章进行了一个整理,以后也开始认真的记录学习过程中的各种问题 在HTML里面的文件上传功能一直是个问题,为了实现上传文件大小限制,怎样 ...
- Dede后台广告管理模块增加图片上传功能插件
用户问题:网站广告后台管理非常方便,但是织梦后台的广告管理模块,发布广告时图片没有上传选项,只能用URL地址,很不方便,那么织梦帮就教大家一个方法实现广告图片后台直接上传,非常方便.先给大家看下修改后 ...
- 图片上传功能<转>http://blog.csdn.net/u011159417/article/details/50126023
以前也实现过上传,只不过每次都是,写完之后没有总结,下次遇到时,还要重新写,重新调式,很是浪费时间,所以,今天实现一个上传图片的功能,包括简单的页面和servlet,下次再要写这个功能时,直接拿过来就 ...
随机推荐
- UNRECOGNIZED SELECTOR SENT TO INSTANCE 问题快速定位的方法
开发中常见的一类崩溃错误是遇到:unrecognized selector sent to instance 0xaxxxx…而backtrace又无法明确说明错误在哪行代码,如何快速定位BUG呢? ...
- 【C语言】22-枚举
上一讲介绍了结构体类型,这讲就介绍C语言中的另一种数据类型---枚举类型.枚举类型在iOS中也是很常用的,用法跟Java中的枚举类似. 一.枚举的概念 枚举是C语言中的一种基本数据类型,并不是构造类型 ...
- 【C语言】20-static和extern关键字2-对变量的作用
一.在Java中,全局变量的定义没有严格的位置规定 全局变量可以定义在类的最前面,也可以定义在类的最尾端,也就说一个方法可以访问在它之后定义的变量. 可以看到,第4行定义的test方法可以访问第8行定 ...
- IIS网站本机可以访问,局域网其他机器无法访问
[开始]打开[控制面板],选择[WINDOWS 防火墙],进入 步骤阅读 2 在防火墙界面,选择左侧边栏的[高级设置] 步骤阅读 3 在弹出的高级安全Windows防火墙界面中,选择左侧边栏的[入站规 ...
- mr中间结果优化
转载请注明出处:http://blog.csdn.net/lastsweetop/article/details/9187721 作为输入 当压缩文件做为mapreduce的输入时,mapreduce ...
- [driver]/lib/modules
两个路径: /lib/modules/4.1.6/updates/net/wireless/cfg80211.ko /lib/modules/4.1.6/modules.dep
- 脚本中出现“+ $'\r' : command not found
脚本中的部分应该是从doc直接拷过来的,造成回车符“\r”出现问题 通过将脚本内容在linux下拷贝一次,就解决了这个问题!
- Webpack实例教程及模块化规范
Webpack 是当下最热门的前端资源模块化管理和打包工具.它能够将很多松散的模块依照依赖和规则打包成符合生产环境部署的前端资源. 通过 loader 的转换,不论什么形式的资源都能够视作模块,比方 ...
- CSS(五):背景、列表、超链接伪类、鼠标形状控制属性
一.背景属性 1.背景属性用来设置页面元素的背景样式. 2.常见背景属性 属性 描述 background-color 用来设置页面的背景色,取值如red,#ff0000 background-ima ...
- Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/base/Function问题解决
selenium 目录下的lib文件夹下的所有包都加到类库里