成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > 基于ajax html實現(xiàn)文件上傳技巧總結(jié)

基于ajax html實現(xiàn)文件上傳技巧總結(jié)

熱門標(biāo)簽:越南河內(nèi)地圖標(biāo)注 云呼外撥網(wǎng)絡(luò)電話系統(tǒng) ai機(jī)器人電銷資源 機(jī)器人電銷騙局揭秘 騰訊地圖標(biāo)注位置能用多久 硅語電話機(jī)器人公司 超級大富翁地圖標(biāo)注 個人怎樣在百度地圖標(biāo)注地名 地圖標(biāo)注項目怎么樣

引語:大家都知道,html中上傳文件就一個input,type=file就搞定了。但是,這個標(biāo)簽的樣式,實在不值得提點什么,要改動他的樣式,恐怕也是較難的。但是其實挺簡單,今天就來說說上傳文件小技巧吧!

1. 怎樣自定義樣式?
1)、只管按照自己喜歡看到的樣式去定義即可,如a href='javascript:;' class='upload-button'>/a>,可以是背景圖片效果,可以是文字指示,總之想怎么改怎么改!有了按鈕,還需要一個文件名容器,用來存放選擇上傳文件時的名字,從而不讓上傳看起來枯澀難懂。

2)、添加真正需要上傳的文件控件,并設(shè)置屬性display:none;如 input type='file' class='hide' />, 這樣就有了真正的上傳文件的地方了。所以,可以說,上傳文件的界面有多漂亮取決你的想象力!

2. 怎樣觸發(fā)事件?

這是個重點,觸發(fā)的點應(yīng)該是自己寫的樣式處,而真正起作用的元素卻是隱藏的,但是并不影響它的點擊效果,只需要給它觸發(fā)一個點擊事件即可,如$('#target-file').trigger('click');

3. 多選文件?

多文件上傳,只需使用html的一個file的multiple=true即可,當(dāng)然你也可以選擇第三方的上傳控件,如swfupload,效果是真心不錯的,但是對于不想用的插件的人,就不起作用了。                                                                         

4.  相關(guān)插件? 

界面美化其實可以使用jqueryui等插件;
要做一些友好的交互的話,都會用到ajax技術(shù),無刷新切換、異步上傳、提交,最后,其實ajax的路徑也是可以保留的,使用pushState, replaceState 實現(xiàn) pjax .
表單驗證:validform.js
異步提交文件: jquery.form.js
友好的彈窗提示:layer.js

5. 一點兼容性的問題?

做界面方面的工作,最怕的也是很重要的工作,就是各個瀏覽器之間的兼容性問題,下面主要列幾點供參考:

table寬度的處理方式不一致;
select, input顯示高度不一致;

alert彈窗不一致;

...

6. 演示代碼

a href="javascript:;" up-type-id="1" class="btn btn-default small-btn switch-upload-method">span>本地上傳/span>/a>
a href="javascript:;" up-type-id="2" class="upload-file-instead btn btn-default small-btn switch-upload-method">span>打包工具/span>/a>
input type="file" name="apkFiles[]" id="local-upload-real-file" class="upload-file-real hide" response-id="local-upload-container" multiple='true' />
input type="file" name="apkToolFiles[]" id="apk-tool-real-file" class="upload-file-real hide" response-id="apk-tool-container-textarea" />
script>
 $(function(){
  var alertTitle = '系統(tǒng)提示:';
  var submitId = '#do-submit';
  $('#taskForm').Validform({
   btnSubmit: submitId,
   tiptype: 1,
   ignoreHidden: true,
   dragonfly: false,
   tipSweep: true,
   label: ".label",
   showAllError: false,
   postonce: true,
   ajaxPost: true,
   datatype:{
   },
   beforeCheck:function(curform){
   },
   beforeSubmit:function(curform){
    $('.upload-file-real').attr('disabled', 'disabled');
    $(submitId).attr('disabled', 'disabled'); //提交前禁用按鈕
    ajaxSubmitForm(curform);
    $(submitId).removeAttr('disabled');   //失敗后恢復(fù)可提交
    return false;
   },
   submitForm: function(){}      //不再起作用
  });

  //切換上傳方法
  $('.switch-upload-method').off().on('click', function(){
//   $(submitId).attr('disabled', 'disabled');
   var pObj = $(this).parent().find('.switch-upload-method');
   var index = pObj.index(this);
   var uploadTypeId = $('#upload-type-id').val();      //上傳方式:1:打包工具;2:本地上傳,0:沒有上傳方式
   var uploadType = $(this).attr('up-type-id');
   if(parseInt($('#sub-channel-count').html()) > 0){
    if(uploadTypeId != uploadType){
     layer.alert('還有子渠道包數(shù)據(jù),不能完成切換,請先確認(rèn)清除再切換!');
     return false;
    }
   }
   pObj.not(':eq(' + index + ')').removeClass('btn-danger').addClass('btn-default');
   pObj.eq(index).removeClass('btn-default').addClass('btn-danger');
   if(uploadType == 36){    //local-upload
    $('#upload-type-id').val(uploadType);
    $('#init-apk-container').show();
    $('#apk-tool-container').hide();
    $('#upload-main-control').find('.del-it-main').css({display: 'inline-block'});
    $('#local-upload-real-file').trigger('click');
   }else if(uploadType == 35){   //apk-tool
    $('#upload-type-id').val(uploadType);
    $('#init-apk-container').hide();
    $('#local-upload-container').hide();
    $('#upload-main-control').find('.del-it-main').hide();
    $('#apk-tool-container').show();
   }
  });
  //本地上傳
  $('#local-upload-real-file').off().on('change', function(){
   if(!$(this).val()){
    return false;
   }
   file_size = 0;
   filepath = $(this).val();
   maxFileSize = 30 * 1024 * 1024;
   var browserCfg = {};
   var ua = window.navigator.userAgent;
   if (ua.indexOf("MSIE") >=1 ){
    browserCfg.ie = true;
   }else if(ua.indexOf("Firefox") >=1 ){
    browserCfg.firefox = true;
   }else if(ua.indexOf("Chrome") >=1 ){
    browserCfg.chrome = true;
   }
   if (browserCfg.ie) {
    var img = new Image();
    img.src = filepath;
    file_size = img.fileSize;
    while (true) {
     if (img.fileSize > 0) {
      if (img.fileSize > maxFileSize) {
       alert("上傳包超過30MB限制,請使用打包工具上傳!");
       return false;
      }
      break;
     }
    }
   } else {
    file_size = this.files[0].size;
    if (file_size > maxFileSize) {
     alert("上傳包超過30MB限制,請使用打包工具上傳!");
     return false;
    }
   }

   var responseObjId = $(this).attr('response-id');
   var responseObj = $('#' + responseObjId);
   $('#taskForm').ajaxSubmit({
    url:'/aa/bb/uploadTmpApk',
    resetForm: false,
    dataType: 'json',
    beforeSubmit: function(option){
     window.loading = layer.load(2);
    },
    success: function(data, statusText){
     layer.close(window.loading);
     if(data.status == 1){
      $('#version-identifier').val(data.version);
      responseObj.html(data.apkInfoHtml);
      responseObj.show();
      var delObj = $('#upload-main-control').find('.del-it-main');
      delObj.css({'display': 'inline-block'});
      $('#sub-channel-count').html(data.apkTotal);
      $('#init-apk-container').hide();
      $(submitId).removeAttr('disabled');
     }else{
      layer.alert(data.info, {title: alertTitle});
     }
    },
    error: function(data){
     layer.close(window.loading);
     layer.alert('未知錯誤,請稍后再試!');
    }
   });
   return false;//防止dialog 自動關(guān)閉
  });
  //打包工具
  $('#apk-tool-real-file').off().on('change', function(){
   if(!$(this).val()){
    return false;
   }
   var responseObjId = $(this).attr('response-id');
   var responseObj = $('#' + responseObjId);
   $('#Form').ajaxSubmit({
    url:'/aa/bb/uploadTmpApkTool',
    resetForm: false,
    dataType: 'json',
    beforeSubmit: function(option){
     window.loading = layer.load(2);
    },
    success: function(data, statusText){
     layer.close(window.loading);
     if(data.status == 1){
      $('#version-identifier').val(data.version);
      responseObj.html(data.infoHtml);
      var parentContainer = responseObj.parent().parent(),
       nameContainer = parentContainer.find('.apk-name-container'),
        delObj = parentContainer.find('.del-it-apk-tool');
      nameContainer.html(data.apkName);
      nameContainer.attr('title', data.apkName);
      $('#apk-tool-file-tmp').html(data.fileInfo);
      $(submitId).removeAttr('disabled');
     }else{
      layer.alert(data.info, {title: alertTitle});
     }
    },
    error: function(data){
     layer.close(window.loading);
     layer.alert('未知錯誤,請稍后再試!');
    }
   });
   return false;//防止dialog 自動關(guān)閉
  });
  $('.apk-tool-upload-button').on('click', function(){
   $('#apk-tool-real-file').trigger('click');
  });
 });
/script> 

以上,主要就是,使用隱藏的input file標(biāo)簽選擇,選擇文件之后立即ajax提交,最后,整個表單ajax提交的過程?! ?br />

合理使用一些css, js, 讓你的網(wǎng)頁更自由!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • HTML5 Ajax文件上傳進(jìn)度條如何顯示
  • javascript HTML5文件上傳FileReader API
  • javascript html5移動端輕松實現(xiàn)文件上傳
  • 基于javascript html5實現(xiàn)多文件上傳
  • 基于HTML5 Ajax實現(xiàn)文件上傳并顯示進(jìn)度條
  • js HTML5 Ajax實現(xiàn)文件上傳進(jìn)度條功能
  • Jquery結(jié)合HTML5實現(xiàn)文件上傳
  • 使用PHP和HTML5 FormData實現(xiàn)無刷新文件上傳教程
  • asp.net html控件的File控件實現(xiàn)多文件上傳實例分享
  • asp.net HTML文件上傳標(biāo)簽

標(biāo)簽:遼源 舟山 林芝 邢臺 鄭州 海南 內(nèi)蒙古 洛陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《基于ajax html實現(xiàn)文件上傳技巧總結(jié)》,本文關(guān)鍵詞  基于,ajax,html,實現(xiàn),文件,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《基于ajax html實現(xiàn)文件上傳技巧總結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于基于ajax html實現(xiàn)文件上傳技巧總結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    国产精品呻吟久久| 亚洲天堂开心观看| 你懂的在线免费观看| 国产精品毛片大码女人| 亚洲女厕所小便bbb| 欧洲杯足球赛直播| 少妇太紧太爽又黄又硬又爽小说| 欧美成人合集magnet| 91免费看`日韩一区二区| 亚洲精品永久视频| www国产精品| 人妻精品久久久久中文字幕| 久久久精品国产一区二区| 欧美日韩视频精品二区| 网站在线观看你懂的| 国产成人精品亚洲精品| 亚洲美女爱爱视频| 800av在线播放| 中文字幕在线天堂| 激情综合网天天干| 国产精品十八以下禁看| 6080日韩午夜伦伦午夜伦| 国产精品国产福利国产秒拍| 国产精品黑丝在线播放| 天天综合狠狠精品| 欧美极品少妇xxxxⅹ裸体艺术| 久久精品国产精品亚洲色婷婷| 在线免费观看av影视天堂| 偷拍盗摄高潮叫床对白清晰| 最新国产精品久久| 美腿丝袜亚洲一区| 亚洲aaa级| 国产精品久久毛片av大全日韩| 亚洲啊v在线免费视频| 天天摸天天做天天爽| 一二三四视频免费观看在线看| 亚洲国产欧美一区二区三区不卡| 国产精品极品美女在线观看免费| heisi视频网在线观看| 欧美日本免费一区二区三区| 中文字幕av无码一区二区三区| 人妻少妇偷人精品久久久任期| 综合久久婷婷| 日韩1区2区日韩1区2区| xxxx黑人da| 91大神精品| av福利导福航大全在线| 国产在线一区二区视频| 销魂美女一区二区三区视频在线| 免费在线不卡av| 91精品入口| 麻豆精品精品国产自在97香蕉| 99久久婷婷国产综合精品青牛牛| 99精品视频免费观看视频| 国产激情久久| 一级精品视频在线观看宜春院| 久久伦理在线| 手机在线免费av| 91久久偷偷做嫩草影院| 亚洲v国产v欧美v久久久久久| 中文字幕国产免费| 中文字幕一区日韩精品欧美| 国产欧美日韩一区二区三区四区| 日本人妻伦在线中文字幕| 97视频在线免费| 国产调教精品| 污污的网站在线观看| 色www永久免费视频首页在线| 国产女精品视频网站免费| 亚洲激情中文在线| 一区二区三区精品视频在线| 性生交免费视频| 人妖粗暴刺激videos呻吟| 精品亚洲美女网站| 久久99久久人婷婷精品综合| 亚洲国产婷婷综合在线精品| 亚洲一区中文字幕| 91导航在线观看| 国产精品欧美在线观看| 亚洲欧美日本伦理| 日本乱子伦xxxx| 欧美日韩一区中文字幕| 国产在线观看中文字幕| 免费视频91| 国产传媒国产传媒| 五月婷婷丁香综合网| 91精品在线视频观看| 欧美成年人视频在线观看| 高端美女服务在线视频播放| www.激情网.com| www.蜜桃av.com| 欧美理论电影| 欧美热在线视频精品999| 精品国产人成亚洲区| 日韩母乳在线| 日产精品一区二区| sese综合| 成年人网站在线免费观看| 黄色激情网址| 久久日韩精品一区二区五区| 91九色在线观看视频| 国产精品不卡在线| 在线免费观看av网| 一区二区电影免费观看| 97精品久久久中文字幕免费| 综合操久久久| 午夜国产福利| 麻豆成人av在线| 久久性天堂网| 国产成人av无码精品| 国产精品不卡一区二区三区在线观看| 99免费精品在线观看| 一区二区视频在线观看免费的| 精品一区二区亚洲| 69av自拍偷拍| 精品视频99| 波多野吉衣在线视频| 久久久久久久久福利| 国模精品一区二区三区色天香| 成人豆花视频| 97高清视频| 亚洲欧美日本韩国| 久久夜色邦福利网| 国产欧美日韩中文| 国产污污视频在线观看| fpee性欧美| 羞羞色院91蜜桃| 成人看片网页| 秋霞成人午夜伦在线观看| 国产这里只有精品| 日本综合视频| 欧美日韩一区在线视频| 一本一道久久a久久精品综合蜜臀| 欧美大片顶级少妇| 国产精品污www在线观看| 国产精品视频资源| 香蕉视频免费版| 国产亚洲精品久久久久久牛牛| 美女网站免费看| 国产黄片一区二区三区| 国产精品一区二区久久国产| 只有这里有精品| 精品一区二区三区在线视频| 成人免费播放视频| 加勒比视频一区| 国产美女久久精品香蕉69| 男人操女人在线观看| 国产日韩欧美一区二区| 免费的av网址| 69久成人做爰电影| 精品一性一色一乱农村| 538国产精品一区二区免费视频| 亚洲AV无码一区二区三区少妇| wwwww在线观看| 免费在线观看污| 国产精品毛片久久久久久久久久99999999| 亚洲欧美国内爽妇网| 强制高潮抽搐sm调教高h| 538在线视频| 日韩五码在线| 久久精品国产**网站演员| 18精品爽国产三级网站| 欧美一级大片在线免费观看| 国产精品久久久久白浆| 农村寡妇一区二区三区| 夜夜嗨av一区二区三区免费区| 久久五月天综合| 一级在线观看| 国产精品黄页网站在线播放免费| 国产经典中年夫妇盗摄| 欧美成人日韩| 欧美视频一区在线观看| 色琪琪原网站亚洲香蕉| 91黄色在线| 天堂社区 天堂综合网 天堂资源最新版| 制服丝袜影音| 亚洲国产一区二区在线播放| 我不卡手机影院| 中文字幕高清在线播放| japan高清日本乱xxxx| 成人一区视频| 五月综合激情日本mⅴ| 91国内精品视频| 欧美午夜精品一区| 裸体大乳女做爰69| avtt天堂在线| 成人黄色影片在线| 午夜久久久久久噜噜噜噜| 国产精品成人免费观看| 欧美中文字幕视频| 激情视频国产| 国产孕妇孕交大片孕| 亚洲国产精品免费视频| 国产欧美日韩精品一区| av不卡中文字幕| 欧美牲交a欧美牲交aⅴ免费下载| 欧美三日本三级少妇三2023| 国产精品日日摸夜夜摸av| 欧美一区二区三区日韩| 欧美探花视频资源| 中文在线网在线中文| 日日夜夜狠狠操| 国内一卡2卡三卡四卡在线| 亚洲精品成人无限看| 91av国产在线| 欧美成人bangbros| 久久久噜噜噜久久中文字幕色伊伊| 操她视频网站| 亚洲专区**| 爱看av在线| 欧美久久久久久久久久久| 青青草视频在线免费播放| 97国产在线观看| 国产精品xxxxx| 国产欧美精品一区二区三区-老狼| av2020不卡| 国产高清视频在线观看| 91人人爽人人爽人人精88v| 2017亚洲天堂1024| 国产中文字幕在线观看| 成人美女视频在线看| 免费在线视频一区二区| 久久免费少妇高潮久久精品99| 婷婷免费在线观看| 日韩欧美一区二区视频在线播放| 国产视频久久久| 99精品欧美一区二区| 黄色在线小视频| 激情综合色播激情啊| 自拍网站在线观看| 久久综合综合久久综合| 奇米亚洲午夜久久精品| 欧美日韩在线综合| 久久免费视频1| 亚洲精品一区二区久| 国产黄色免费| 伊人影院在线播放| 久久亚洲一区二区三区四区五区高| 一区二区三区四区视频免费观看| www免费网站在线观看| 热久久一区二区| 久久国产精品黑丝| 亚洲伊人一本大道中文字幕| 日韩精品成人| 夜夜骑天天操| 色先锋资源久久综合5566| 综合久久久久综合| 久久久国产一区二区三区四区小说| 精品三级国产| 欧美性suv| 久草热久草在线频| 久久精品国产精品亚洲色婷婷| 国产福利热线视频| 国产精品毛片a∨一区二区三区|国| 一本到12不卡视频在线dvd| 国产精品久线在线观看| 一区二区视频播放| 国产不卡av在线| 国产精品678| 日本1区2区3区中文字幕| 蜜臀av一区二区在线免费观看| 日韩母乳在线| 欧美日韩亚洲精品内裤| av动漫免费观看| 国内精品久久久久久久影视麻豆| 日本午夜精品一区二区三区| 欧美精品卡一卡二| 精品伦精品一区二区三区视频密桃| 一本色道久久综合狠狠躁篇的优点| 古装做爰无遮挡三级聊斋艳谭| 亚洲精品成人在线播放| 黄色在线观看国产| 日韩不卡视频一区二区| 国产爆初菊在线观看免费视频网站| 午夜免费久久久久| 国产精品久在线观看| 久久国产精品色av免费看| 91亚洲精品一区| 一区二区三区四区五区视频| 国产欧美日韩第一页| 欧美性开放视频| 欧美69xxxx| 久久久久久国产精品三级玉女聊斋| 精品乱码一区二区三区| 精品一区二区三区日韩| 国产欧美亚洲一区| 成人激情av网| 99久久婷婷国产综合精品首页| 精品久久人妻av中文字幕| 欧美亚洲一级| 亚洲一级片免费观看| 亚洲综合久久av一区二区三区| 日本一区二区视频在线播放| 91精品国产综合久久久久久久久久| 国产视频一区二区三| 一级黄色录像大片| 在线精品一区| 国a精品视频大全| 激情综合中文娱乐网| jizz在线观看视频| 伊人久久综合视频| 欧美综合视频| 影音先锋人妻啪啪av资源网站| 亚洲精品自拍偷拍| 欧洲生活片亚洲生活在线观看| 麻豆精品不卡国产免费看| 国产精品午夜av在线| 暖暖影院日本高清...免费| 九色91porny| 99re这里都是精品| 中文字幕在线观看国产| 欧美成人sm免费视频| 国产精品久久久久久亚洲伦| 亚洲国产精品毛片| 久久精品中文字幕电影| 日韩高清国产一区在线观看| 国产欧美综合视频| 久草福利视频在线| 亚洲精品自拍区在线观看| 亚洲尤物在线视频观看| 国产日本欧美一区二区| 97国产成人精品视频| 中文字幕高清在线免费播放| 亚洲熟女乱色一区二区三区久久久| 国产成人免费视频精品含羞草妖精| 久久天堂影院| 午夜不卡视频| 精品一二三四在线|