javascript实现网易邮箱多附件上传功能代码
来源:互联网 发布:推荐一本自学java的书 编辑:程序博客网 时间:2024/05/02 01:30
本文采用javascript+样式表实现了仿网易邮箱多附件上传功能代码,望大家喜欢!
<html>
<head>
<title>Add Files</title>
<style>
a.addfile {
background-image:url(http://p.mail.163.com/js31style/lib/0703131650/163blue/f1.gif);
background-repeat:no-repeat;
background-position:-823px -17px;
display:block;
float:left;
height:20px;
margin-top:-1px;
position:relative;
text-decoration:none;
top:0pt;
width:80px;
}
input.addfile {
/*left:-18px;*/
}
input.addfile {
cursor:pointer !important;
height:18px;
left:-13px;
filter:alpha(opacity=0);
position:absolute;
top:5px;
width:1px;
z-index: -1;
}
</style>
<script type="text/javascript">
function MultiSelector(list_target, max)
{
// Where to write the list
this.list_target = list_target;
// How many elements?
this.count = 0;
// How many elements?
this.id = 0;
// Is there a maximum?
if (max)
{
this.max = max;
}
else
{
this.max = -1;
};
/**
* Add a new file input element
*/
this.addElement = function(element)
{
// Make sure it's a file input element
if (element.tagName == 'INPUT' && element.type == 'file')
{
// Element name -- what number am I?
element.name = 'file_' + this.id++;
// Add reference to this object
element.multi_selector = this;
// What to do when a file is selected
element.onchange = function()
{
// New file input
var new_element = document.createElement('input');
new_element.type = 'file';
new_element.size = 1;
new_element.className = "addfile";
// Add new element
this.parentNode.insertBefore(new_element, this);
// Apply 'update' to element
this.multi_selector.addElement(new_element);
// Update list
this.multi_selector.addListRow(this);
// Hide this: we can't use display:none because Safari doesn't like it
this.style.position = 'absolute';
this.style.left = '-1000px';
};
// If we've reached maximum number, disable input element
if (this.max != -1 && this.count >= this.max)
{
element.disabled = true;
};
// File element counter
this.count++;
// Most recent element
this.current_element = element;
}
else
{
// This can only be applied to file input elements!
alert('Error: not a file input element');
};
};
/**
* Add a new row to the list of files
*/
this.addListRow = function(element)
{
// Row div
var new_row = document.createElement('div');
// Delete button
var new_row_button = document.createElement('input');
new_row_button.type = 'button';
new_row_button.value = 'Delete';
// References
new_row.element = element;
// Delete function
new_row_button.onclick = function()
{
// Remove element from form
this.parentNode.element.parentNode.removeChild(this.parentNode.element);
// Remove this row from the list
this.parentNode.parentNode.removeChild(this.parentNode);
// Decrement counter
this.parentNode.element.multi_selector.count--;
// Re-enable input element (if it's disabled)
this.parentNode.element.multi_selector.current_element.disabled = false;
// Appease Safari
// without it Safari wants to reload the browser window
// which nixes your already queued uploads
return false;
};
// Set row value
new_row.innerHTML = element.value + " ";
// Add button
new_row.appendChild(new_row_button);
// Add it to the list
this.list_target.appendChild(new_row);
};
};
</script>
</head>
<body>
<!-- This is the form -->
<form enctype="multipart/form-data" action="http://127.0.0.1:8080/xxx/fileUploadAction.action" method="post">
<!-- The file element -- NOTE: it has an ID -->
<a href="javascript:void(1==1);" class="addfile" style="cursor: default;" hidefocus="true">
<input id="my_file_element" class="addfile" type="file" name="file_1" size="1" title="点击选择附件">
</a>
<input type="submit" value="上 传">
</form>
Files:
<!-- This is where the output will appear -->
<div id="files_list" style="padding:5px;border:1px;border-style:solid;border-color:#0000ff;height:100px;width:600px;"></div>
<script>
<!-- Create an instance of the multiSelector class, pass it the output target and the max number of files -->
var multi_selector = new MultiSelector(document.getElementById('files_list'), 100);
<!-- Pass in the file element -->
multi_selector.addElement(document.getElementById('my_file_element'));
</script>
</body>
</html>
- javascript实现网易邮箱多附件上传功能代码
- 网易邮箱的附件上传功能
- 仿网易多附件上传功能
- JS仿网易多附件上传功能
- 网易邮箱添加附件功能原理浅析
- 163邮箱连续上传附件的javascript代码
- Uploadify实现多附件上传功能
- 批量上传不同图片(网易邮箱添加附件的应用)
- Jsp实现附件上传功能
- Struts2.0实现的文件上传(单附件和多附件)以及附件下载功能
- Struts2.0实现的文件上传(单附件和多附件)以及附件下载功能
- Struts2.0实现的文件上传(单附件和多附件)以及附件下载功能
- 处理多附件上传功能
- 网易邮箱多文件上传机制初探
- web.py HTML javascript 多附件上传实现
- 模拟126邮箱实现一次上传多个附件的例子
- 模拟126邮箱实现一次上传多个附件的例子
- springMVC + swfupload 附件上传功能的实现
- 09-22-09
- javascript读取本地excel文档并显示在文本框中
- VB中如何声明及使用多维数组,多层数组及动态数组
- javacript实现关闭子窗口,刷新父窗口效果代码
- javascript实现WEB页面导出为EXCEL或WORD文档的方法
- javascript实现网易邮箱多附件上传功能代码
- javascript实现多张图片轮流展示效果代码
- *.android.com上不去的解决方法
- javascript实现一个IP只弹窗一次代码
- Java调用存储过程
- J2EE_Mysql数据源配置
- javascript如何快速拼装html字符串?
- 在榜“停留” holdover
- 用jquery解析JSON数据的方法