您的位置:

js动态添加上传文件按钮(js自动上传文件)

js动态添加上传文件按钮(js自动上传文件)

更新:

本文目录一览:

js如何上传文件

js采用File API 来上传文件的。

File API 由一组 JavaScript 对象以及事件构成。赋予开发人员操作在 input type=”file” … / 文件选择控件中选定文件的能力。图 1 展示了 File API 所有的 JavaScript 的组合关系。

File API 简单示例

body

h1File API Demo/h1

p

!-- 用于文件上传的表单元素 --

form name="demoForm" id="demoForm" method="post" enctype="multipart/form-data"

action="javascript: uploadAndSubmit();"

pUpload File: input type="file" name="file" //p

pinput type="submit" value="Submit" //p

/form

divProgessing (in Bytes): span id="bytesRead"

/span / span id="bytesTotal"/span

/div

/p

/body

运行效果:

几种js实现的动态多文件上传

方式一:事先写好多个input.在点击时才显示。也就是说上传的最大个数是写死了的。

html

p

a href='#' onclick='javascript:viewnone(more1)' 添加附件 /a

div id='more1' style='display:none'

input type="file" name="attach1" size="50"javascript:viewnone(more2)

/span

/div

div id='more2' style='display:none'

input type="file" name="attach2" size="50"'

/div

/p

js

SCRIPT language="javascript"

function viewnone(e){

e.style.display=(e.style.display=="none")?"":"none";

}

/script

方式二:这种方式的动态多文件上传是实现了的,很简单的,不说废话看code

html

input type="button" name="button" value="添加附件" onclick="addInput()"

input type="button" name="button" value="删除附件" onclick="deleteInput()"

span id="upload"/span

js

script type="text/javascript"

var attachname = "attach";

var i=1;

function addInput(){

if(i0){

var attach = attachname + i ;

if(createInput(attach))

i=i+1;

}

}

function deleteInput(){

if(i1){

i=i-1;

if(!removeInput())

i=i+1;

}

}

function createInput(nm){

var aElement=document.createElement("input");

aElement.name=nm;

aElement.id=nm;

aElement.type="file";

aElement.size="50";

//aElement.value="thanks";

//aElement.onclick=Function("asdf()");

if(document.getElementById("upload").appendChild(aElement) == null)

return false;

return true;

}

function removeInput(nm){

var aElement = document.getElementById("upload");

if(aElement.removeChild(aElement.lastChild) == null)

return false;

return true;

}

/script

方式三:动态多文件上传,只是在oFileInput.click();这个地方,这样做就不能上传这个文件了,因为发现它在上传之时就把这个input中的文件置空了。很可能是为了安全着想吧!

另外还有一点就是说,click()只有在ie中才能正常运行。

虽说这种方式最终没能实现上传,但还是留下来参考,看看是否有人可以真正实现上传。

html

A href="javascript:newUpload();"添加附件/A

TABLE width="100%" border="0" cellpadding="0" cellspacing="1"

TBODY id="fileList"/TBODY

/TABLE

DIV id="uploadFiles" style="display:block"/DIV

js

SCRIPT language="javascript"

//---新建上传

function newUpload(){

var oFileList = document.getElementById("fileList");

var fileCount = oFileList.childNodes.length + 1;

var oFileInput = newFileInput("upfile_" + fileCount);

if(selectFile(oFileInput)){

addFile(oFileInput);

}

}

//----选择文件

function selectFile(oFileInput){

var oUploadFiles = document.getElementById("uploadFiles");

oUploadFiles.appendChild(oFileInput);

oFileInput.focus();

oFileInput.click();//不能这样做,可能是为了安全着想吧!

var fileValue = oFileInput.value;

if(fileValue == ""){

oUploadFiles.removeChild(oFileInput);

return false;

}

else

return true;

}

//---新建一个文件显示列表

function addFile(oFileInput){

var oFileList = document.getElementById("fileList");

var fileIndex = oFileList.childNodes.length + 1;

var oTR = document.createElement("TR");

var oTD1 = document.createElement("TD");

var oTD2 = document.createElement("TD");

oTR.setAttribute("id","file_" + fileIndex);

oTR.setAttribute("bgcolor","#FFFFFF");

oTD1.setAttribute("width","6%");

oTD2.setAttribute("width","94%");

oTD2.setAttribute("align","left");

oTD2.innerText = oFileInput.value;

oTD1.innerHTML = 'A href="javascript:removeFile('+ fileIndex + ');"删除/A';

oTR.appendChild(oTD1);

oTR.appendChild(oTD2);

oFileList.appendChild(oTR);

}

//---移除上传的文件

function removeFile(fileIndex){

var oFileInput = document.getElementById("upfile_" + fileIndex);

var oTR = document.getElementById("file_" + fileIndex);

uploadFiles.removeChild(oFileInput);

fileList.removeChild(oTR);

}

//---创建一个file input对象并返回

function newFileInput(_name){

var oFileInput = document.createElement("INPUT");

oFileInput.type = "file";

oFileInput.id = _name;

oFileInput.name = _name;

oFileInput.size="50";

//oFileInput.setAttribute("id",_name);

//oFileInput.setAttribute("name",_name);

//oFileInput.outerHTML = 'INPUT type=file id=' + _name + ' name=' + _name + '';

//alert(oFileInput.outerHTML);

return oFileInput;

}

/SCRIPT

用javascript写了一个动态增加的按钮

是安全性问题,浏览器不允许脚本修改上传表单的内容

如果不是上传文件,就把form的enctype改掉就可以了,

如果是需要上传文件,这种动态的上传框只有flash可以做到

或者你多写几个隐藏的上传框,用脚本把它显示出来试试

javascript 怎么添加按钮?

借助JQuery更简单实现,这里是一个用原生javascript实现的示例:

html

head

title/title

script type="text/javascript"

function addButton(){

var html ="input type=\"button\" value=\"新加\" onclick=\"newButton();\"";

document.getElementById("add").innerHTML=html;

}

function newButton(){

alert("我是新加的按钮");

}

/script

/head

body

div

p点击该按钮增加一个新按钮/p

input type="button" value="点击增加" onclick="addButton();"

p新增的按钮在这显示/p

div id="add"/div

/div

/body

/html

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。

它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。

js及jquery实现动态的文件上传操作按钮的添加和删除

本文为大家介绍下使用js及jquery实现动态的文件上传操作按钮的添加和删除,具体示例如下,希望对大家有所帮助

javascript实现

代码如下:

!DOCTYPE

html

PUBLIC

"-//W3C//DTD

XHTML

1.0

Transitional//EN"

""

html

xmlns=""

head

meta

http-equiv="Content-Type"

content="text/html;

charset=utf-8"

/

titlejquery文件上传/title

script

type="text/javascript"

src="jquery-1.7.2.js"/script

script

type="text/javascript"

var

addMore

=

function()

{

var

div

=

document.getElementById("div2");

var

br

=

document.createElement("br");

var

input

=

document.createElement("input");

var

button

=

document.createElement("input");

input.setAttribute("type",

"file");

button.setAttribute("type",

"button");

button.setAttribute("value",

"Remove");

button.onclick

=

function()

{

div.removeChild(br);

div.removeChild(input);

div.removeChild(button);

}

div.appendChild(br);

div.appendChild(input);

div.appendChild(button);

}

//节点的移动

//$(function(){

//});

/script

/head

body

div

id="div1"

input

type="file"

id="upload"/

input

type="button"

id="btn"

value="more"

onclick="addMore();"/

/div

div

id="div2"/div

/body

/html

jquery实现

代码如下:

!DOCTYPE

html

PUBLIC

"-//W3C//DTD

XHTML

1.0

Transitional//EN"

""

html

xmlns=""

head

meta

http-equiv="Content-Type"

content="text/html;

charset=utf-8"

/

titlejquery文件上传/title

titlejquery1/title

script

type="text/javascript"

src="jquery-1.7.2.js"/script

script

type="text/javascript"

/**

var

addMore

=

function()

{

var

div

=

document.getElementById("div2");

var

br

=

document.createElement("br");

var

input

=

document.createElement("input");

var

button

=

document.createElement("input");

input.setAttribute("type",

"file");

button.setAttribute("type",

"button");

button.setAttribute("value",

"Remove");

button.onclick

=

function()

{

div.removeChild(br);

div.removeChild(input);

div.removeChild(button);

}

div.appendChild(br);

div.appendChild(input);

div.appendChild(button);

}**/

//jquery实现文件上传的按钮添加和删除

$(function(){

$("input[type=button]").click(function(){

var

br

=

$("br");

var

input

=

$("input

type='file'/");

var

button

=

$("input

type='button'

value='Remove'/");

$("#div1").append(br).append(input).append(button);

button.click(function()

{

br.remove();

input.remove();

button.remove();

});

});

});

/script

/head

body

div

id="div1"

input

type="file"

id="upload"/

input

type="button"

id="btn"

value="more"

onclick="addMore();"/

/div

div

id="div2"/div

/body

/html

js动态添加上传文件按钮(js自动上传文件)

本文目录一览: 1、js如何上传文件 2、几种js实现的动态多文件上传 3、用javascript写了一个动态增加的按钮 4、javascript 怎么添加按钮? 5、js及jquery实现动态的文件

2023-12-08
js实现文件上传csdn(js获取上传文件)

本文目录一览: 1、请高手给一个JS多文件上传的例子(必须兼容IE)解决追加50分。请看补充。 2、如何从js文件上传问题,怎么解决 3、js如何上传文件 4、使用jquery.form.js实现文件

2023-12-08
js上传geojson文件(geojson格式)

本文目录一览: 1、js怎么解析geojson 格式的 2、APP发布到APP store时限制区域geojson格式文件怎么生成 3、Mapshaper 笔记一:地图综合神器 4、js post怎样

2023-12-08
js给静态文件添加cdn,js 动态加载js

本文目录一览: 1、create-react-app脚手架项目打包CDN部署 2、如何将大量的HTML中的js和css整体的切换到cdn的服务器上去 3、把web静态资源放在cdn上怎么弄 4、如何将

2023-12-08
动态js,动态js文件

2022-11-24
php第三方文件上传插件(php上传文件夹)

2022-11-12
js动态click,js动态添加元素

2022-11-23
js实现文件下载显示进度条(js 文件上传进度)

本文目录一览: 1、js高手处理网站每页加载时显示进度条 2、文件下载如何使用进度条? 3、关于js或jquery进度条实现? 4、JS程序 图片(即进度条)加载 5、JS做的进度条,如何做的? 6、

2023-12-08
js对上传文件加密(js地址传参数加密和解密)

本文目录一览: 1、关于js 函数加密 2、请问 上传文件的时候想在前端先进行加密? 3、介绍一点js加密的方法 4、求JS文件的加密与解密 关于js 函数加密 pre t="code" l="js"

2023-12-08
js动态配置css(动态加载js)

本文目录一览: 1、JS 怎么动态设置CSS3动画的样式 2、HTML JS动态设置CSS样式 3、如何实现JavaScript动态加载CSS和JS文件 4、如何实现JS动态修改css全局样式 5、v

2023-12-08
如何从js文件上传问题(js读取上传的文件)

本文目录一览: 1、如何通过js完成多个文件的上传 2、js 大文件分片上传处理如何实现? 3、js文件上传中遇到的知识点 4、js如何上传文件 5、egg.js 文件上传 如何通过js完成多个文件的

2023-12-08
html动态加载js,html动态加载div

2023-01-04
js上传选择图片功能代码(js上传图片并预览)

本文目录一览: 1、我需要一个js或者jquery能批量上传图片+预览的功能。急~~~急~~~急~~ 2、怎样用js或者jq实现点击这个图片就可以选择上传还有预览图片啊 3、求一段JS或Jquery异

2023-12-08
页面动态加载对应的js文件(页面动态加载对应的js文件)

本文目录一览: 1、如何在html页面动态加载js文件 2、如何在js文件中动态加载另一个js文件? 3、用原生js怎么动态添加一个js文件 4、怎么在网页中通过jQuery动态加载js代码 5、如何

2023-12-08
js上传文件时计算文件的大小(js大文件上传)

本文目录一览: 1、js 如何获取上传文件的大小 2、完美解决js校验文件大小 3、如何通过js获取上传文件尺寸 4、js怎么判断上传文件的大小 5、IE8以上,用js获取上传文件大小和绝对路径的实现

2023-12-08
js可以控制文件上传的速度吗,js 文件上传进度

本文目录一览: 1、如何使用javascript 控制图片的速度 2、浏览器会限制js上传文件大小吗 3、js 大文件分片上传处理如何实现? 4、前端上传文件实时显示进度条和上传速度的工作原理是怎样的

2023-12-08
java动态加载js,java动态加载java文件

本文目录一览: 1、java动态的添加js 在tomcat没有报错,但打架包到websphere 中SRVE0190E: 找不到文件 2、java 调用 js函数 3、java web后台怎么动态生成

2023-12-08
js点击按钮选择文件,js 点击按钮

2023-01-07
如何把js代码动态添加到的后面(js动态添加html代码)

本文目录一览: 1、用原生js怎么动态添加一个js文件 2、javascript如何把节点 插入到指定的节点后? 3、如何用js在页面中添加元素? 用原生js怎么动态添加一个js文件 如果需要用原生j

2023-12-08
js选择文件事件,js选中文本事件

本文目录一览: 1、file控件选择上传文件确定后触发的js事件是哪个? 2、file控件选择上传文件确定后触发什么js事件 3、js中如何点击一个按钮弹出一个file文件框 4、javascript

2023-12-08