⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upload.js

📁 创建虚拟磁盘。用户可以创建磁盘
💻 JS
字号:
/**
##
#	Project: PHPDisk
#	This is NOT a freeware, use is subject to license terms.
#
#	Site: http://www.phpdisk.com
#
#	$Id: upload.js 70 2009-01-15 04:31:40Z cy $
#
#	Copyright (C) 2008-2009 PHPDisk Team. All Rights Reserved.
#
##
*/

var uploadForm = Class.create();
uploadForm.prototype =
{
	initialize: function(fieldContainer, listContainer, statusContainer)
	{
		this.fieldContainer = $(fieldContainer);
		this.listContainer = $(listContainer);
		this.statusContainer = $(statusContainer);
		this.statusContainer.innerHTML = lang['default_tips'];
		this.fieldCount = 0;
		this.selected_files = new Array();
		this.options = new Array();
		this.setOptions({iconURL:'', fieldSize:40});
		this.zipWarning = false;
	},

	display: function()
	{
		this.addField();
	},

	setOptions: function(options)
	{
		Object.extend(this.options, options || {});
	},

	getSelectedCount: function()
	{
		return this.selected_files.length;
	},

	addField: function()
	{
		var field = document.createElement('input');
		field.type = 'file';
		field.name = 'file_' + this.fieldCount;
		field.size = this.options.fieldSize;
		field.onchange = this.__onchange.bind(this, field);
		this.fieldCount++;
		this.fieldContainer.appendChild(field);
	},

	showFiles: function()
	{
		this.listContainer.innerHTML = '';
		var ul = document.createElement('ul');
		for(var i = 0; i < this.selected_files.length; ++i)
		{
			var file = this.selected_files[i];
			var li = document.createElement('li');
			var leftSpan = document.createElement('span');
			var rightSpan = document.createElement('span');
			var spacer = document.createElement('div');
			spacer.className = 'spacer';
			leftSpan.className = 'left';
			rightSpan.className = 'right';
			li.className = i & 1 ? 'odd' : 'even';
			leftSpan.innerHTML = '<img src="' + this.options.iconURL+get_icon(get_extension(file.name)) + '" class="img1" alt="icon" title="'+file.path+'" />&nbsp; ' + file.name;
			rightSpan.innerHTML = lang['remove'];
			rightSpan.onclick = this.removeFile.bind(this, i);
			li.appendChild(leftSpan);
			li.appendChild(rightSpan);
			li.appendChild(spacer);
			ul.appendChild(li);
		}
		this.listContainer.appendChild(ul);
		ul.style.display = this.selected_files.length ? 'block' : 'none';
		this.statusContainer.innerHTML = this.selected_files.length ? this.selected_files.length + lang['file_selected'] : lang['default_tips'];
	},

	removeFile: function(index)
	{
		this.fieldContainer.removeChild(this.selected_files[index].uploadField);
		this.selected_files.splice(index, 1);
		this.showFiles();
	},

	isSelected: function(filePath)
	{
		for(var i = 0; i < this.selected_files.length; ++i)
			if(this.selected_files[i].path == filePath) return true;
		return false;
	},

	__onchange: function(field)
	{
		var filePath = field.value;
		if(this.isSelected(filePath))
		{
			alert(lang['you_selected'] + this.__basename(filePath));
			field.value = '';
			return false;
		}
		var filename = this.__basename(filePath);
		var extension = get_extension(filename);

		if ( filename != 'batch.zip')
		{
			if ( extension == 'zip' && !this.zipWarning )
			{
				alert(lang['zip_selected']);
				this.zipWarning = true;
			}

		}

		this.selected_files.push({name: this.__basename(filePath), path: filePath, uploadField: field});
		this.__hideField(field);
		this.addField();
		this.showFiles();
		return true;
	},

	__hideField: function(field)
	{
		field.style.position = 'absolute';
		field.style.top = '0px';
		field.style.left = '0px';
		field.style.visibility = 'hidden';
	},

	__basename: function(s)
	{
		var p=-1;for(var i=0;i<s.length;i++)if(s.charAt(i)=='\\'||s.charAt(i)=='/')p=i;if(p<0)return s;return s.substr(p+1,s.length-p);
	}
};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -