【jQuery】uploadify,实际开发案例【选择完文件点击上传才上传】
----------------------------------------------------------------------------------
js部分:
----------------------------------------------------------------------------------
<script type="text/javascript">
var $upfile_name="【<? echo $_username;?>"+Math.floor(Math.random()*9999999)+Math.floor(Math.random()*99999999)+'】-'; //设置随机文件前缀。
$k(function()
{
$k("#uploadify").uploadify({
'uploader': '../file/uploads/uploads.swf',
'cancelImg': '../file/uploads/cancel.png',
'folder': '../file/uploads/UploadFile',
'queueID': 'fileQueue',
'buttonImg':'../file/uploads/images/upload.jpg',
'width':'95',
'height':'24',
'auto': false, //非自动上传模式。
'fileDesc':'请选择doc,rar,pdf,rar,txt文件!',
'fileExt':'*.doc;*.pdf;*.rar;*.txt',
'sizeLimit':'10240000000000000',
'script': '../file/uploads/uploadify.php',
'fileDataName':'Filelist',
//'checkScript': '../file/uploads/check.php',
'onInit':function()//脚本加载时触发。
{
$k("#shangchuan").attr("disabled",true);
$k("#unshangchuan").attr("disabled",true);
},
'onSelect': function(e, queueId, fileObj)
{
$k("#uploadify").uploadifySettings('scriptData',{'name':$upfile_name}); //不重复文件名的关键,在上传时给文件加上自定义的随机前缀。
//var $value_zh=$k("#some").val();
//$k("#Success").val("");
//$k("#some").attr("value",$upfile_name+fileObj.name+"|"+$value_zh);
$k("#shangchuan").attr("disabled",false).attr("enabled",true);
$k("#unshangchuan").attr("disabled",false).attr("enabled",true);
},
'onCancel': function(e, queueId, fileObj) //点击上传文件后面的删除图片时触发
{
var $value_zh=$k("#some").val();
$value_zh=$value_zh.replace($upfile_name+fileObj.name+"|","");
//alert(fileObj.name);
//alert(value_zh);
$k("#some").val($value_zh);
if($k(".uploadifyQueueItem").length==1)
{
$k("#shangchuan").attr("disabled",true).attr("enabled",false);
$k("#unshangchuan").attr("disabled",true).attr("enabled",false);
}
},
'onComplete':function (event, queueID, fileObj, response, data) //上传一次
{
//var $content_fz=$k("<li id='file_list' style='height:30px;'>文件名:<input name='Success[]' type='text' id='Success' value='"+fileObj.name+"上传成功' size='20' readonly='true'/> 文件简介:<input name='Introduction' type='text' id='Introduction' size='20'/> <a id='del'>[删除]</a></li>");
var $value_zh=$k("#some").val();
$k("#some").attr("value",$upfile_name+fileObj.name+"|"+$value_zh);
var $content_fz=$k("<li id='file_list' style='height:30px;'>文件名:<input name='Success[]' type='text' id='Success' value='"+fileObj.name+"' size='20' readonly='true'/> <a id='del'>[删除]</a></li>");
$k("#file_content").append($content_fz);
//$k("#Success").val("").val(""+fileObj.name+"上传成功");
},
'onError':function(event, queueID, fileObj) //错误提示
{
$k("#Success").val("").val(""+fileObj.name+"上传失败");
},
'onAllComplete':function(event) //全部上传完成
{
//$k("#Success").hide();
//$k("#some").val("");
//$k("#Success").val("");
$k("#shangchuan").attr("disabled",true).attr("enabled",false);
$k("#unshangchuan").attr("disabled",true).attr("enabled",false);
$k("a").click(function(){
$k(this).parent("li:eq(0)").remove();
var $file_name_1=$k(this).parent("li").children("input").val();
var $file_name_2=$k("#some").val();
$file_name_2=$file_name_2.replace($upfile_name+$file_name_1+"|","")
$k("#some").val($file_name_2);
})
},
'multi': true
});
$k("#shangchuan").click(function(){ //上传按钮
$k('#uploadify').uploadifyUpload();
$k("#shangchuan").attr("disabled",true).attr("enabled",false);
$k("#unshangchuan").attr("disabled",true).attr("enabled",false);
})
$k("#unshangchuan").click(function(){ //取消全部按钮
$k('#uploadify').uploadifyClearQueue();
$k("#shangchuan").attr("disabled",true).attr("enabled",false);
$k("#unshangchuan").attr("disabled",true).attr("enabled",false);
})
});
</script>
----------------------------------------------------------------------------------
html代码:
----------------------------------------------------------------------------------
<tr>
<td class="tl"><span class="f_red">*</span> 附件</td>
<td class="tr">
<div id="fileQueue"></div>
<input type="file" name="uploadify" id="uploadify" /><br/><br/>
选择的上传文件:<input name="some" type="text" id="some" size="60" readonly="true"/>
<br/><br/>
<ul id="file_content"></ul>
<p>
<input type="button" name="Submit" value="上 传" id="shangchuan"/> <input type="button" name="Submit2" value="取消上传" id="unshangchuan"/></td>
</tr>
----------------------------------------------------------------------------------
php代码:
----------------------------------------------------------------------------------
$_POST['name']; //接的是下面蓝色字,下面蓝色字就是变量名,这里name可以任意修改,修改成什么我们到时候接什么就OK;下面的$upfile_name是对应的值。
接值:$k("#uploadify").uploadifySettings('scriptData',{'name':$upfile_name});
----------------------------------------------------------------------------------
整个效果图如下:
【jQuery】uploadify,实际开发案例【选择完文件点击上传才上传】的更多相关文章
- uploadify,实际开发案例【选择完文件点击上传才上传】
<script type="text/javascript"> )+Math.floor(Math.random()*)+']-'; //设置随机文件前缀. $k(fu ...
- MVC 4 结合jquery.uploadify 上传实例
前言:由于今天公司源代码服务瘫痪,没法编写代码,利用这个有限的时间,做了一个小小的 基于MVC的图片上传demo,貌似近些年来MVC十分火爆,相关的demo也数不胜数,小弟就在这里打着MVC的旗子,狐 ...
- jquery.uploadify文件上传组件
1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好, ...
- jquery.uploadify上传文件配置详解(asp.net mvc)
页面源码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之五 模块(菜单)管理源码分享
http://www.cnblogs.com/huyong/p/3454012.html 使用Jquery+EasyUI 进行框架项目开发案例讲解之五 模块(菜单)管理源码分享 在上四篇文章 ...
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之三---角色管理源码分享
使用Jquery+EasyUI 进行框架项目开发案例讲解之三 角色管理源码分享 在上两篇文章 <使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享> ...
- 使用Jquery+EasyUI 进行框架项目开发案例讲解之二---用户管理源码分享
使用Jquery+EasyUI 进行框架项目开发案例讲解之二 用户管理源码分享 在上一篇文章<使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享>我们分享 ...
- 【推荐】使用Jquery+EasyUI进行框架项目开发案例讲解之一---员工管理源码分享
使用Jquery+EasyUI 进行框架项目开发案例讲解之一 员工管理源码分享 在开始讲解之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery的U ...
- 使用Jquery+EasyUI进行框架项目开发案例解说之中的一个---员工管理源代码分享
使用Jquery+EasyUI 进行框架项目开发案例解说之中的一个 员工管理源代码分享 在開始解说之前,我们先来看一下什么是Jquery EasyUI?jQuery EasyUI是一组基于jQuery ...
随机推荐
- VC将同一份代码同时编译为Dll和Exe的方法
开发中经常遇到这样的情况,需要开发一个某某功能的接口Dll,但是Dll不能直接调试,你至少需要一个Loader 但是Loader和Dll本身不在同一个工程里,虽然都在本机的话并不影响源码级调试,但是总 ...
- ORA-01152: 文件 1 没有从过旧的备份中还原
转自:http://blog.itpub.net/8520577/viewspace-1255794/ 做了一个全备 RMAN> show all; 使用目标数据库控制文件替代恢复目录db_un ...
- VS2008 视图资源.rc无法加载的问题及解决方法
VS2008 视图资源.rc无法加载 1.首先先把vs关闭,然后执行 开始>>所有程序>>Mircosoft visual studio 2008>>visual ...
- 洛谷 - P1198 - 最大数 - 线段树
https://www.luogu.org/problemnew/show/P1198 要问区间最大值,肯定是要用线段树的,不能用树状数组.(因为没有逆元?但是题目求的是最后一段,可以改成类似前缀和啊 ...
- bzoj4145 [AMPPZ2014]The Prices(状压dp)
Description 你要购买m种物品各一件,一共有n家商店,你到第i家商店的路费为d[i],在第i家商店购买第j种物品的费用为c[i][j], 求最小总费用. Input 第一行包含两个正整数n, ...
- Redis生成主键ID
使用Redis來生成主鍵ID策略,這裡主要使用 RedisAtomicLong 類來實現主鍵生成策略.具體代碼如下: /** * @Description: 获取自增长值 * @param key k ...
- js、css外部文件的相对路径问题
如果js.css外部文件有使用到相对路径时,需要注意其相对路径的基准是不一样的. 比如说,在index.html中引用到了外部的js和css文件,这两个文件都通过相对路径引用了某一张图片:这些文件所在 ...
- WIN7 X64的运行命令窗口
要在WIN7系统下用界面的方式执行运行命令,则可以用如下两种方法方法打开运行对话框.1.点Win+R(run)就能出来的.2.在开始菜单上点右键,选“属性”,进入开始菜单属性设置界面,单击底部的“自定 ...
- hdu 4442 Physical Examination (2012年金华赛区现场赛A题)
昨天模拟赛的时候坑了好久,刚开始感觉是dp,仔细一看数据范围太大. 题目大意:一个人要参加考试,一共有n个科目,每个科目都有一个相应的队列,完成这门科目的总时间为a+b*(前面已完成科目所花的总时间) ...
- 线段树(单点更新) POJ 2886 Who Gets the Most Candies?
题目传送门 #include <cstdio> #include <cstring> #define lson l, m, rt << 1 #define rson ...