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

📄 advupload.js

📁 一款文件上传程序
💻 JS
字号:
/* You may edit these */
var maxFileSelectable = 25;
var selectedFiles 	= getObj ( 'selectedFiles' );
var fileSelect 		= getObj ( 'fileSelect' );
var fileSelectedStatus = getObj ( 'fileSelectedStatus' );
var uploadTo		 = getObj ( 'upload_to' );
var fileExistWarn	 = getObj ( 'fileExistsWarning' );
var fileNum 		= 0;
var fileSelected 	= 0;


if ( !selectedFiles || !fileSelect || !fileSelectedStatus ) throw 'Error! Could not find all the objects required.';

function newFileInput ( )
{
	var n = document.createElement ( 'input' );
	var i = 'file' + fileNum++;
	n.type = 'file';
	n.name = n.id = i;
	n.className = 'input_file';
	n.size = 55;
	n.onchange = function ( )
	{
		updateSelectedFiles(this);
		checkFileExists();
		this.style.display='none';
		if ( fileSelected < maxFileSelectable )
		{
			fileSelect.appendChild(newFileInput());
		}
	}
	return n;
}

function isSelected ( f )
{
	for ( var i = 0; i < fileNum-1; i++ )
	{
		var x = getObj ( 'file' + i );
		if ( x  && x.value == f ) return true;
	}
	return false;
}

function checkFileExists ( )
{
	if ( !fileExistWarn ) return false;
	if ( !uploadTo ) return false;

	var files = fileSelect.getElementsByTagName ( 'input' );
	var fileNames = new Array();

	for ( i = 0; i < files.length; i++ )
	{
		if ( files[i].type == 'file' && files[i].value != '' )
		{
			fileNames['files['+i+']'] = basename ( files[i].value );
		}
		// folder
		fileNames['folder'] = uploadTo.value;
	}
	var checkFunc = function ( result )
	{
		if ( result != '' )
		{
			fileExistWarn.style.display = 'block';
			fileExistWarn.innerHTML = result;
		}
		else fileExistWarn.style.display = 'none';
	}
	xmlhttpPost(fileNames,'upload.php?action=check_file_exists',checkFunc);
}

function updateSelectedFiles ( inputField )
{
	fileSelected++;
	if ( isSelected ( inputField.value ) )
	{
		alert ( 'You have already selected this file. It will be removed.' );
		removeSelectedFiles ( inputField );
		return false;
	}

	var sFile = document.createElement ( 'li' );
	sFile.relatedElement = inputField;
	inputField.relatedElement = sFile;
	sFile.innerHTML = '<span class="left" title="'+ inputField.value + '"><img src="templates/default/images/file.gif" alt="" class="img1" /> ' + basename (inputField.value) + '</span>';
	sFile.innerHTML += '<span class="right link" onclick="removeSelectedFiles(this.parentNode.relatedElement);">Remove</span><div class="spacer"></div>';
	selectedFiles.appendChild(sFile);
	fileSelectedStatus.style.display='block';
	fileSelectedStatus.innerHTML = fileSelected + ' files selected.';
	alternateRowColor ( getObj('selectedFiles'), 'li', '#fafafa', '#ffffff' );
}

function removeSelectedFiles ( inputField )
{
	fileSelect.removeChild ( inputField );
	if ( inputField.relatedElement ) selectedFiles.removeChild ( inputField.relatedElement );
	fileSelected--;
	if ( fileSelected > 0 )
		fileSelectedStatus.innerHTML = fileSelected + ' files selected.';
	else
		fileSelectedStatus.innerHTML = 'No files selected.';
	alternateRowColor ( getObj('selectedFiles'), 'li', '#fafafa', '#ffffff' );
	checkFileExists();
}

fileSelect.appendChild ( newFileInput ( ) );

⌨️ 快捷键说明

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