简单js fileUpload控件(单例)

single_file_upload.js

var YsUIWidgets=YsUIWidgets||{};
YsUIWidgets.uploadFile = (function($){
    var container  = null;
    var changeCallback = function(){};
    var acceptTypes = ["jpg","png"];// 接受的上传文件类型

    var renderHtml = "<input type=‘file‘ name=‘single-file-upload‘ style=‘display:none;‘/>";

    // 添加隐藏的
    function renderInputFile(){
        // 生成dialog唯一标识
        container = $(renderHtml).appendTo("html"); // 添加到文档中去
        return container;
    }

    function bindEventHandlers(){
        $(container).change(function(e){
            e.preventDefault();
            e.stopPropagation();
            var file = e.target.files[0];
            if(!validateFileType(file,acceptTypes)){
                alert("文件类型不正确!");
                return;
            }
            changeCallback(file);
            // 清除value
            $(this).val("");
        });
    }

    // 验证文件类型
    function validateFileType(file,acceptTypes){console.log("valid");
        var name = file.name;
        var fileSuffix = name.substr(name.lastIndexOf(".")+1);
        for(var i=0;i<acceptTypes.length;i++){
            var acceptType = acceptTypes[i];
            if(acceptType==fileSuffix){
                return true;
            }
        }
        return false;
    }

    var initialized = false;
    // 初始化方法
    function init(){
        if(initialized){
            return;
        }
        renderInputFile();
        bindEventHandlers();
        initialized = true;
    }

    var uploadFile = function(options){
        if(!initialized){init();} // 如果未初始化则初始化
        changeCallback = options.changeCallback||changeCallback;
        acceptTypes = options.acceptTypes||acceptTypes;
        $(container).click();
    };
    return uploadFile;
})(jQuery);
时间: 2024-12-17 22:53:29

简单js fileUpload控件(单例)的相关文章

简单 js fileUpload控件

file_upload_demo.html <!DOCTYPE html> <html> <head lang="en">     <meta charset="UTF-8">     <title></title>     <script src="../static/dist/js/jquery-1.11.3.min.js"></script>  

FileUpload控件实现单按钮图片自动上传并带预览显示

FileUpload控件实现单按钮图片自动上传并带预览显示 1.实现原理: FileUpload控件默认不支持服务端的ONCHANGE事件,此时用一种变通的方法借用客户端的onchange事件,调用__doPostBack方法来用LinkButton的OnClick事件模拟一个事件触发的过程,可以在LinkButton的OnClick事件中进行图片的上传,和预览加载. 2.关键代码:      页面代码: 1 <asp:FileUpload ID="fuPhoto" onchan

WebForm之FileUpload控件(文件上传)

FileUpload控件要与Button.LinkButton.ImageButton配合使用 FileUpload控件的方法及属性: 1.SaveAs("要上传到服务器的绝对路径")方法:用来上传文件 注:一般使用Server.MapPath()方法进行相对路径与绝对路径之间的转换. 2.FileName属性:要上传文件的文件名,不带路径 3.PostedFile.ContentLength属性:获得上传文件的字节长度,除以1024,得到KB <一>最简单的上传 //点击

使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传

Anthem.NET刚刚发布了其最新的1.5版本,其中很不错的一个新功能就是对文件上传功能的Ajax实现.本文将简要介绍一下该功能的使用方法. Anthem.NET的下载与安装 Anthem.NET可以在此下载:http://sourceforge.net/project/showfiles.php?group_id=151897&package_id=168043&release_id=493609 下载之后解压缩至硬盘中的某一目录中,编译项目得到Anthem.dll.然后将其拷贝到We

如何使用js日历控件

在做注册表单的时候,了解了如何使用js日历控件 <script language=javascript src="calendar5.js"></script> <script type="text/javascript">var c = new Calendar("c");//new个对象document.write(c);//这个得有,不然日历显示不出来 window.onload = function()

layDate1.0正式发布,您一直在寻找的的js日期控件

你是时候换一款日期控件了,而layDate非常愿意和您成为工作伙伴.她正致力于成为全球最高大上的web日期支撑,为国内外所有从事web应用开发的同仁提供力所能及的动力.她基于原生JavaScript精心雕琢,兼容了包括IE6在内的所有主流浏览器.她具备优雅的内部代码,良好的性能体验,和完善的皮肤体系,并且完全开源,你可以任意获取开发版源代码,一扫某些传统日期控件的封闭与狭隘.layDate延续了layui一贯的简单与易用,本着资源共享的开发者精神和对网页日历交互的无穷追求,她将长年被维护和更新,

C# 自定义FileUpload控件

摘要:ASP.NET自带的FileUpload控件会随着浏览器的不同,显示的样式也会发生改变,很不美观,为了提高用户体验度,所以我们会去自定义FileUpload控件 实现思路:用两个Button和TextBox控件来替代FileUpload控件,当点击Button时触发FileUpload控件的点击事件,然后通过JS把FileUpload控件的Value赋给TextBox 代码: aspx文件: 1 <html xmlns="http://www.w3.org/1999/xhtml&qu

简洁JS 日历控件 支持日期和月份选择

原文出处 以下这个JS日历控件是我的闲暇之余自己编写的,所有的代码全部在IE7/IE8/Firefox下面测试通过, 而且可以解决被iframe层遮盖的问题.现在只提供两种风格(简洁版和古典版)和两种语言(英文和中文).支持自定义日期格式,设定时间范围. 默认为古典版,英文,下面来看简单的缩略图. 首先是简洁版: 日期选择器: 月份选择器: 然后是古典版: 日期选择器: 日期选择器中文语言 月份选择器 下面是使用方法: 在要使用这个控件的页面上引入这个JS <script type="te

js日历控件源代码下载

原文:js日历控件源代码下载 源代码下载地址:http://www.zuidaima.com/share/1550463462640640.htm js写的日历控件,具体看效果吧,简单截图如下: