uploadify插件實(shí)現(xiàn)多個(gè)圖片上傳并預(yù)覽
使用uploadify插件可方便實(shí)現(xiàn)圖片上傳功能。兼容ie6、ie7。
上傳成功之后使用插件的回調(diào)函數(shù)讀取json數(shù)據(jù),根據(jù)url實(shí)現(xiàn)圖片預(yù)覽。
效果圖:

點(diǎn)擊瀏覽文件上傳圖片,圖片依次在右側(cè)顯示預(yù)覽效果。
實(shí)現(xiàn):
json數(shù)據(jù)格式如下:

頁(yè)面代碼如下:
注:需要引用jQuery.js、uploadify.js、uploadify文件。。uploadify文件下載地址
<html>
<head>
<script type="text/javascript" src="static/js/jquery.js">"></script>
<script type="text/javascript" src="static/js/jquery.select.js">"></script>
</head>
<body>
<div class="file-box">
<div id="divPreview">
<span style="float:left">(最多可上傳五張圖片)</span>
</div>
<input type="file" name="file" class="file" id="fileField" />
<input type="hidden" name="hash" id="hash" value="xoxo"/>
</div>
<script>
$(function() {
$("#fileField").uploadify({
'height' : 30,
'swf' : '<?php echoYii::app()->request->baseUrl ?>/static/uploadify/uploadify.swf?var='+(newDate()).getTime(),
'uploader' :'index.php?r=upload/uploadimage',
'width' : 120,
'onUploadSuccess' : function(file, data, response) {
var info = eval("("+data+")");
if(info.err==1){alert(info.msg);} //如果圖片過(guò)大或者格式錯(cuò)誤彈出錯(cuò)誤信息
else{
$("#divPreview").append($("<img src='" + info.img + "'/>"));
$("#divPreview").append($("<input type='hidden' name='imgId[]' value='" + info.imgId + "'/>"));
}
},
'buttonText' : '瀏覽文件',
'uploadLimit' : 5, //上傳最多圖片張數(shù)
'removeTimeout' : 1,
'preventCaching': true, //不允許緩存
'fileSizeLimit' : 4100, //文件最大
'formData' : { '<?php echosession_name();?>' : '<?php echosession_id();?>','hash':$("#hash").val() } //hash
});
$("#SWFUpload_0").css({ //設(shè)置按鈕樣式,根據(jù)插件文檔進(jìn)行修改
'position' :'absolute',
'top': 20,
'left': 35,
'z-index' : 1
});
});
</script>
</body>
</html>
曾遇到問(wèn)題:
ie、360瀏覽器中對(duì)json數(shù)據(jù)檢查比較嚴(yán)格,不允許最后一個(gè)“,”存在。其它瀏覽器不會(huì)報(bào)錯(cuò),需要注意。
閱讀插件文檔能力有待提高
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript數(shù)組常用方法解析及數(shù)組扁平化
這篇文章主要介紹了JavaScript數(shù)組常用方法解析及數(shù)組扁平化,數(shù)組作為在開(kāi)發(fā)中常用的集合,除了for循環(huán)遍歷以外,還有很多內(nèi)置對(duì)象的方法,包括map,以及數(shù)組篩選元素filter等2022-07-07
DOM操作原生js 的bug,使用jQuery 可以消除的解決方法
下面小編就為大家?guī)?lái)一篇DOM操作原生js 的bug,使用jQuery 可以消除的解決方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-09-09
僅Firefox中鏈接A無(wú)法實(shí)現(xiàn)模擬點(diǎn)擊以觸發(fā)其默認(rèn)行為
偶然發(fā)現(xiàn)之前寫(xiě)的事件模塊在Firefox5中無(wú)法觸發(fā)A的默認(rèn)行為了。IE/Opera/Firefox5中A具有click方法,因此模擬點(diǎn)擊直接調(diào)用click方法即可。2011-07-07
原生javascript實(shí)現(xiàn)簡(jiǎn)單的datagrid數(shù)據(jù)表格
這篇文章主要介紹了原生javascript實(shí)現(xiàn)簡(jiǎn)單的datagrid數(shù)據(jù)表格的方法,效果十分棒,需要的朋友可以參考下2015-01-01
js仿蘋(píng)果iwatch外觀的計(jì)時(shí)器代碼分享
這篇文章主要介紹了JS+CSS3實(shí)現(xiàn)的類(lèi)似于蘋(píng)果iwatch計(jì)時(shí)器特效,很實(shí)用的代碼,推薦給大家,有需要的小伙伴可以參考下。2015-08-08
bootstrap日期控件問(wèn)題(雙日期、清空等問(wèn)題解決)
這篇文章主要介紹了bootstrap日期控件(雙日期、清空等問(wèn)題解決)相關(guān)知識(shí),需要的朋友可以參考下2017-04-04
兼容firefox的給每一個(gè)onClick再附加一個(gè)事件
如原來(lái)的onClick=="alert("a");",增加后變成onclick="alert("a");return false;"。 如果用腳本實(shí)現(xiàn)動(dòng)態(tài)增加上去? 謝謝!2008-07-07

