📄 upload.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+'" /> ' + 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 + -