js實(shí)現(xiàn)動態(tài)添加上傳文件頁面
發(fā)郵件是需要添加一些文件,每添加一個文件,頁面上可以顯示一個表單文件上傳選項(xiàng)。
此功能為:初始時刻只有一個添加按鈕,當(dāng)點(diǎn)擊添加文件時,會增加一個選擇文件和刪除區(qū)域,同時顯示上傳按鈕,當(dāng)點(diǎn)擊刪除,此行選擇文件行消失,當(dāng)所有選擇文件項(xiàng)都消失時,上傳按鈕將被隱藏起來。下面是實(shí)例代碼:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>動態(tài)添加文件上傳列表</title> <script type="text/javascript"> var num=0; function addFile(event){ //創(chuàng)建一個div標(biāo)簽,用以包含一個input標(biāo)簽和刪除按鈕 var innerdiv = document.createElement("div"); //創(chuàng)建一個input標(biāo)簽 var inputNode = document.createElement("input"); inputNode.name = "fileName"; inputNode.type="file"; //創(chuàng)建一個刪除按鈕 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)建一個處理函數(shù) delNode.onclick = function d(){ this.parentNode.parentNode.removeChild(this.parentNode); //刪除此div區(qū)域 var fileNodes = document.getElementsByName("fileName"); //當(dāng)沒有上傳文件時,隱藏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將動態(tài)增加一個div區(qū)域,div區(qū)域包含一個file input標(biāo)簽和刪除按鈕。
動態(tài)創(chuàng)建一個input標(biāo)簽示例:
//創(chuàng)建一個div標(biāo)簽,用以包含一個input標(biāo)簽和刪除按鈕 var innerdiv = document.createElement("div"); //創(chuàng)建一個input標(biāo)簽 var inputNode = document.createElement("input"); inputNode.name = "fileName"; inputNode.type="file"; innerdiv.appendChild(inputNode);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JavaScript動態(tài)添加數(shù)據(jù)到表單并提交的幾種方式
- JS實(shí)現(xiàn)動態(tài)添加外部js、css到head標(biāo)簽的方法
- JavaScript實(shí)現(xiàn)動態(tài)添加、移除元素或?qū)傩缘姆椒ǚ治?/a>
- JavaScript數(shù)組,JSON對象實(shí)現(xiàn)動態(tài)添加、修改、刪除功能示例
- JS點(diǎn)擊動態(tài)添加標(biāo)簽、刪除指定標(biāo)簽的代碼
- JS實(shí)現(xiàn)為動態(tài)添加的元素增加事件功能示例【基于事件委托】
- JS如何實(shí)現(xiàn)動態(tài)添加的元素綁定事件
相關(guān)文章
JS+Canvas實(shí)現(xiàn)滿屏愛心和文字動畫的制作
Canvas?適合繪制大數(shù)據(jù)量圖形元素的圖表(如熱力圖、地理坐標(biāo)系或平行坐標(biāo)系上的大規(guī)模線圖或散點(diǎn)圖等),也適合實(shí)現(xiàn)某些視覺特效。本文就來利用Canvas實(shí)現(xiàn)滿屏愛心和文字動畫的制作,感興趣的可以了解一下2022-11-11以JSON形式將JS中Array對象數(shù)組傳至后臺的方法
業(yè)務(wù)是需要將前臺jQuery easyUI DataGrid列表中所選的若干行的數(shù)據(jù)傳到后臺進(jìn)行update操作,具體的實(shí)現(xiàn)如下,感興趣的朋友可以參考下2014-01-01javascript中的nextSibling使用陷(da)阱(keng)
關(guān)于HTML/XML節(jié)點(diǎn)的問題,在IE中nextSibling不會返回文本節(jié)點(diǎn),而chrome或者firefox等會返回文本節(jié)點(diǎn)2014-05-05