jquery 无刷新上传的小function
2024-08-24 20:07:19
function zll_up(click_id,up_url,text_id,show_id){
this.create = function(){}
//当点击指定元素时,创建iframe form input(file)等元素
$("#"+click_id).click(function(){
console.log('click');
$("body").append("<form action='"+up_url+"' method='post' enctype='multipart/form-data' target='iframe_"+click_id+"' style='display:none;' name='form_"+click_id+"' id='form_"+click_id+"'><input type='file' name='tupian_"+click_id+"' id='tupian_"+click_id+"'></form>");
$("body").append("<iframe style='display:none;' name='iframe_"+click_id+"' id='iframe_"+click_id+"'></iframe>"); $('#tupian_'+click_id).change(function(){
console.log('change');
var file = document.getElementById("tupian_"+click_id).files[0];
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function(evt){
$("#"+show_id).html('<img style="width:100%;height:100%;" src="' + evt.target.result + '" />');
}
$("#form_"+click_id).submit();
}); $("#iframe_"+click_id).on("load",function(){
console.log('load');
var data = $(window.frames['iframe_'+click_id].document.body).find("textarea").html();
console.log(data);
$("#"+text_id).val(data);
//当上传完成时删除之前创建的元素
console.log('remove');
$("#iframe_"+click_id).remove();
$("#form_"+click_id).remove();
}); $("#tupian_"+click_id).click();
});
}
js代码
<div class="control-group">
<label class="control-label item-label" >上传图片 (750*1525)<span class="check-tips"></span></label>
<div class="controls uploadrow2" data-max="1" title="点击修改图片" rel="cover" id="upclick">
<input type="hidden" name="img" id="img" value="{$art.img}">
<div class="upload-img-box" rel="img" id="imgshow" style="height:auto;">
<if condition="!empty($art['img'])">
<img src="__UPLOADS__/{$art.img}"/>
</if>
</div>
</div>
</div>
<script type="text/javascript" src="引入上面的js代码"></script>
<script type="text/javascript">
zll_up("upclick","{:U("$con_name/z_upload")}","img","imgshow");
</script>
html代码
function z_upload(){
//单文件上传
//公用上传函数 zll 2017-6-7 11:35:44
//用于iframe的无刷新上传
$config = array(
'maxSize' => 3145728,
'rootPath' => './Uploads/',
'savePath' => '',
'saveName' => array('uniqid',''),
'exts' => array('jpg', 'gif', 'png', 'jpeg'),
'autoSub' => true,
'subName' => array('date','Ymd'),
);
$upload = new \Think\Upload($config);// 实例化上传类
$info = $upload->upload();
if(!$info) {
// 上传错误提示错误信息
// echo $upload->getError();
echo "<textarea>error</textarea>";
}else{// 上传成功
echo "<textarea>".$info[array_keys($info)[0]]['savepath'].$info[array_keys($info)[0]]['savename']."</textarea>";
}
}
PHP代码(thinkphp3.2.3)
最新文章
- Favorites of top 10 rules for success
- 利用反射+AOP,封装Basehandler
- Eclipse为成员变量设置前缀
- virtual box使用
- Android菜鸟成长记4-button点击事件
- JAVA学习Swing绝对局部简单学习
- php实现多任务并发探讨
- 转)SSO单点登录在互联网电商应用中的解决方案(基于CAS的改造)
- App Store生存指南
- SERVERPROPERTY方法说明
- VM中装Linux换ISO文件报错";该光盘无法被挂载";
- JS总结之二:DOM对象控制HTML
- 网络获取的XML的Pull解析
- vijos1760题解
- 安卓笔记-- popupwindow back键不消失的问题
- linux视频录制,推流处理
- tomcat7 内存溢出 java.lang.OutOfMemoryError 处理方法
- Tcp端口以及端口相关协议详解
- 关于Python打包运行的一些思路
- Delphi7如何实现让Tedit显示文字垂直居中(上下居中)
热门文章
- 【习题 8-12 UVA - 1153】Keep the Customer Satisfied
- 【hdu 4289】Control
- C++里面virtual函数及虚表大小
- lighttpd启动不了,libssl.so.4&;amp;libcrypto.so.4 缺失
- golang sync.Cond
- C#与C++ DLL的交互
- 在 Swift 專案中使用 Javascript:編寫一個將 Markdown 轉為 HTML 的編輯器
- [D3] Draw a basic US d3-geo map
- R语言-有负下标里才干有零
- 绝对定位等html结构,水平居中的处理方案