js實(shí)現(xiàn)動(dòng)態(tài)添加上傳文件頁(yè)面
發(fā)郵件是需要添加一些文件,每添加一個(gè)文件,頁(yè)面上可以顯示一個(gè)表單文件上傳選項(xiàng)。
此功能為:初始時(shí)刻只有一個(gè)添加按鈕,當(dāng)點(diǎn)擊添加文件時(shí),會(huì)增加一個(gè)選擇文件和刪除區(qū)域,同時(shí)顯示上傳按鈕,當(dāng)點(diǎn)擊刪除,此行選擇文件行消失,當(dāng)所有選擇文件項(xiàng)都消失時(shí),上傳按鈕將被隱藏起來(lái)。下面是實(shí)例代碼:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>動(dòng)態(tài)添加文件上傳列表</title> <script type="text/javascript"> var num=0; function addFile(event){ //創(chuàng)建一個(gè)div標(biāo)簽,用以包含一個(gè)input標(biāo)簽和刪除按鈕 var innerdiv = document.createElement("div"); //創(chuàng)建一個(gè)input標(biāo)簽 var inputNode = document.createElement("input"); inputNode.name = "fileName"; inputNode.type="file"; //創(chuàng)建一個(gè)刪除按鈕 var delNode = document.createElement("input"); delNode.name = "del"; delNode.type = "button"; delNode.value="刪除"; var submit = document.getElementById("submit"); //刪除當(dāng)前刪除按鈕所在的標(biāo)簽,為此按鈕點(diǎn)擊事件創(chuàng)建一個(gè)處理函數(shù) delNode.onclick = function d(){ this.parentNode.parentNode.removeChild(this.parentNode); //刪除此div區(qū)域 var fileNodes = document.getElementsByName("fileName"); //當(dāng)沒(méi)有上傳文件時(shí),隱藏submit按鈕 if(fileNodes.length==0){ submit.style.display="none"; } }; innerdiv.appendChild(inputNode); innerdiv.appendChild(delNode); var div = document.getElementById("file"); div.appendChild(innerdiv); submit.style.display="block"; } </script> </head> <body> <form id="upload" action="${pageContext.request.contextPath }/servlet/FileUploadServlet" enctype="multipart/form-data" method="post"> 上傳文件:<input type="button" value="添加文件" onclick="addFile(this.parentNode)"/> <br /> <table> <div id="file"> </div> </table> <input id="submit" type="submit" value="上傳" style="display: none"/> </form> </body> </html>
此實(shí)例代碼中,addFile將動(dòng)態(tài)增加一個(gè)div區(qū)域,div區(qū)域包含一個(gè)file input標(biāo)簽和刪除按鈕。
動(dòng)態(tài)創(chuàng)建一個(gè)input標(biāo)簽示例:
//創(chuàng)建一個(gè)div標(biāo)簽,用以包含一個(gè)input標(biāo)簽和刪除按鈕 var innerdiv = document.createElement("div"); //創(chuàng)建一個(gè)input標(biāo)簽 var inputNode = document.createElement("input"); inputNode.name = "fileName"; inputNode.type="file"; innerdiv.appendChild(inputNode);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript動(dòng)態(tài)添加數(shù)據(jù)到表單并提交的幾種方式
- JS實(shí)現(xiàn)動(dòng)態(tài)添加外部js、css到head標(biāo)簽的方法
- JavaScript實(shí)現(xiàn)動(dòng)態(tài)添加、移除元素或?qū)傩缘姆椒ǚ治?/a>
- JavaScript數(shù)組,JSON對(duì)象實(shí)現(xiàn)動(dòng)態(tài)添加、修改、刪除功能示例
- JS點(diǎn)擊動(dòng)態(tài)添加標(biāo)簽、刪除指定標(biāo)簽的代碼
- JS實(shí)現(xiàn)為動(dòng)態(tài)添加的元素增加事件功能示例【基于事件委托】
- JS如何實(shí)現(xiàn)動(dòng)態(tài)添加的元素綁定事件
相關(guān)文章
js實(shí)現(xiàn)本地持久化存儲(chǔ)登錄注冊(cè)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)本地持久化存儲(chǔ)登錄注冊(cè),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-08-08JS+Canvas實(shí)現(xiàn)滿屏愛心和文字動(dòng)畫的制作
Canvas?適合繪制大數(shù)據(jù)量圖形元素的圖表(如熱力圖、地理坐標(biāo)系或平行坐標(biāo)系上的大規(guī)模線圖或散點(diǎn)圖等),也適合實(shí)現(xiàn)某些視覺特效。本文就來(lái)利用Canvas實(shí)現(xiàn)滿屏愛心和文字動(dòng)畫的制作,感興趣的可以了解一下2022-11-11以JSON形式將JS中Array對(duì)象數(shù)組傳至后臺(tái)的方法
業(yè)務(wù)是需要將前臺(tái)jQuery easyUI DataGrid列表中所選的若干行的數(shù)據(jù)傳到后臺(tái)進(jìn)行update操作,具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下2014-01-01談?wù)刯avascript中使用連等賦值操作帶來(lái)的問(wèn)題
這篇文章主要介紹了javascript中使用連等賦值操作帶來(lái)的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2015-11-11詳談javascript精度問(wèn)題與調(diào)整
下面小編就為大家?guī)?lái)一篇詳談javascript精度問(wèn)題與調(diào)整。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07javascript中的nextSibling使用陷(da)阱(keng)
關(guān)于HTML/XML節(jié)點(diǎn)的問(wèn)題,在IE中nextSibling不會(huì)返回文本節(jié)點(diǎn),而chrome或者firefox等會(huì)返回文本節(jié)點(diǎn)2014-05-05