动态增加附件上传文件框的实现

2023-05-16

 

【文章标题】动态增加附件上传文件框的实现

【文章作者】曾健生

【作者邮箱】zengjiansheng1@126.com

【作者QQ190678908

【作者博客】http://blog.csdn.net/newjueqi

【编程环境】Dreamweaver

【作者声明】欢迎转载文章,但转载请保留文章的完整性以及注明文章的出处。

 

*******************************************************************************

动态增加附件上传文件框的数量在Web中是个很常见的功能,最原始的状态如图1

                                                 1

 

当按两下“添加附件”后,增加了两个文件选择控件,如图2所表示:

 

 

                                                 2

 

看起来很神奇,其实这是通过动态增加表格行的方法实现的,我们把表格的框线显示出来,如图3所示:

 

                                                 3

 

我们知道,DOM中表格中的每个元素都可看成一个对象,单元格是一个对象,行也是一个对象。

       在这个实现中,文件选择框和删除标签都是一个独立的对象,各放在一个单元格中,而两个单元格组成表格的一行,这样最大的好处就是容易实现格式化控制,使界面美观整齐。

 

在这个表格中,有如下层次关系:

 

Table

|--Tbody

       |--tr(第一行)

              |--td

|--添加附件标签

       |--tr(除第一行外的各行)

              |--td

|--文件选择框

              |--td

|--删除标签

 

动态增加表格行的方法实现:

       当按下添加附件标签,就是动态创建表格的一行(通过insertRow),通过insertCell的形式在行对象中插入单元格对象,这一行有两个单元格,其中一个单元格有一个文件选择框对象,另一个单元格有个删除标签。通过单元格对象的innerHTML属性在单元格内部添加HTML文本,创建文件选择框对象;通过document类的createElement()创建超链接对象,在单元格对象中用appendChild()添加超链接对象。

 

 

删除附件的实现:

       删除附件其实就是删除超链接表格上的所在的行,从上述的层次结构可看出以下内容:

 

超链接对.parentNode.parentNode=行对象

表格对象.childNodes[0]=tbody对象

 

而行对象是tbody对象的一个子节点。

 

所以当点击“删除附件”超链接删除附件,就是通过超链接对象获取所在的行对象,另外通过“表格对象”.childNodes[0]获取tbody对象,然后在tbody对象中删除行对象,就能实现删除附件的效果。

实现的代码如下:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

<title>无标题文档</title>

</head>

 

<body>

 

<script>

function addfujian()

{

   

    //获取表格对象

    var tabObj = document.getElementsByTagName("table")[0];

 

    //在表格中添加一行

    var trObj = tabObj.insertRow();

   

    //在行对象中添加第一个单元格

    var tdObj_1 = trObj.insertCell();

 

    //在行对象中添加第二个单元格

    var tdObj_2 = trObj.insertCell();

   

    //在第一个单元格中添加一个文件浏览控件

    tdObj_1.innerHTML = "<input type='file' name='filepath' />";

   

    //创建一个超链接对象

    var aObj = document.createElement("a");

   

    //把超链接对象加入到第二个单元格中

    tdObj_2.appendChild(aObj);

 

    //设置超链接的标题

    aObj.innerText="删除附件";

 

    //使超链接的链接效果失效

    aObj.href="javascript:void(0)";

 

    //设置超链接点击事件处理函数

    aObj.onclick = function()

    {

        //根据超链接对象获取行对象

        var trObj = this.parentNode.parentNode;

 

        //获取表格对象

        var tabObj = document.getElementsByTagName("table")[0];

 

        //在Tbody对象中移除行对象

        tabObj.childNodes[0].removeChild(trObj);

 

    }  

 

 

}

 

</script>

 

 

<table>

  <tr>

    <td><a href="javascript:void(0)" οnclick="addfujian()">添加附件</a></td>

 

  </tr>

</table>

 

</body>

</html>

 

添加附件的效果如图4

                            4

 

删除第三个附件后的效果如图5

                            5

 

文章附件下载:http://newjueqi.ys168.com/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

动态增加附件上传文件框的实现 的相关文章

  • 九. 200多万元得到的创业教训--“雕爷”是忽悠吗?

    摘要 xff1a 这一年 xff0c 是移动互联网火爆的一年 xff0c 互联网思维 伴随着这股热潮红遍大江南北 xff0c 其中的一位 互联网思维 代表者是雕爷 xff0c 它带来的是真理还是在忽悠 xff1f 健生干货分享 xff1a
  • 推荐《十倍速影像阅读法》

    文章标题 推荐 十倍速影像阅读法 文章作者 newjueqi 作者邮箱 zengjiansheng1 64 126 com 作者 QQ 190678908 作者 blog http blog csdn net newjueqi 文章说明 欢
  • 十. 加班等于团队建设?

    摘要 xff1a 在IT界 xff0c 加班是不可避免的事情 但是 xff0c 加班的方式和心态 xff0c 将会影响加班的效率和加班的效果 健生干货分享 xff1a 第10篇 在移动互联网的日常工作中 xff0c 不能不提的是加班 总体来
  • 十一. 没有这4项素质,别想在创业公司

    摘要 xff1a 习惯了在大企业工作方式 xff0c 初次来到创业公司工作会觉得很不习惯 xff0c 因为创业公司中 xff0c 对人员有很特殊的素质要求 健生干货分享 xff1a 第11篇 在创业公司里工作久了 xff0c 慢慢就习惯了里
  • 十二.200多万元得到的创业教训--app名字是关键

    摘要 xff1a 当完成了一个app后 xff0c 就要需要上应用市场 xff0c 下面讲一下起名和上应用市场的一些技巧 健生干货分享 xff1a 第12篇 1 必须是先上app store xff0c 再上其他应用市场 为啥要这样做 xf
  • 解决bug: .cpython-37m-x86_64-linux-gnu.so: undefined symbol:

    解决bug cpython 37m x86 64 linux gnu so undefined symbol 时间 xff1a 2023年1月23日 一 问题 用python下pytorch编写cuda算子时 xff0c 在执行setup
  • 十三.200多万元得到的创业教训--用户体验就是人性

    摘要 用户体验是在产品或服务中重要的一环 xff0c 懂得人性 xff0c 什么是良好的用户体验就很明了 健生干货分享 xff1a 第13篇 在百度百科中的定义 xff1a 用户体验 xff08 UserExperience xff0c 简
  • 软件DIY----用汇编语言给XP记事本添加“自动保存”功能

    文章标题 用汇编语言 给XP记事本添加 自动保存 功能 文章作者 newjueqi 作者邮箱 zengjiansheng1 64 126 com 作者 QQ 190678908 使用工具 OD xff0c LordPE xff0c eXeS
  • 用16进制编辑器编写一个DLL文件

    文章标题 用16进制编辑器编写一个DLL文件 文章作者 newjueqi 作者邮箱 zengjiansheng1 64 126 com 作者QQ号 190678908 软件名称 Hello 软件大小 4K 编写语言 机器码 使用工具 Win
  • 浅谈快速阅读法

    文章标题 浅谈快速阅读法 文章作者 newjueqi 作者邮箱 zengjiansheng1 64 126 com 作者 QQ 190678908 作者 blog http blog csdn net newjueqi 文章说明 欢迎转载文
  • 十四.200多万元得到的创业教训--不健康,别创业

    摘要 xff1a 34 年轻时拿命换钱 xff0c 岁数大后拿钱换命 34 xff0c 这种说法 xff0c 真的是正确的吗 xff1f 健生干货分享 xff1a 第14篇 有多少人想过 xff0c 自己创业的目的是什么 xff1f 是为了
  • 十五.电商业老二,老三也能生存

    摘要 在互联网行业 xff0c 有句话 xff1a 人们只记得老大 xff0c 但随着移动互联网的崛起 xff0c 依托于社交红利 xff0c 这个现象正慢慢发生变化 健生干货分享 xff1a 第15篇 在传统的互联网中 xff0c 入口少
  • 十六.月收入过万的淘宝从业者的执行力,吓呆我了

    摘要 淘宝开店现在好不好做 xff0c 很多人说现在淘宝已经不好做 xff0c 但淘宝的生意真的没有生存的空间了吗 在不久前 xff0c 和一个做淘宝行业相关的哥们聊天 xff0c 他自曝月收入过万 xff0c 被他那狠狠的执行力吓呆了 健
  • 自媒体16天后的总结

    摘要 在网上写了一些文章 xff0c 16天过去了 xff0c 总结一下自己在16天里的得失 健生干货分享 xff1a 第17篇 写了16天的文章 xff0c 有的文章我很用心的写 xff0c 但反应平淡 xff0c 有的文章 xff0c
  • 改变Windows窗口颜色,保护好眼睛

    研究表明 xff0c 绿色和蓝色对眼睛最好 xff0c 在长时间用电脑后 xff0c 经常看看蓝天 绿地就能在一定程度上缓解视疲劳 如果我们把电脑屏幕和网页的底色变为淡淡的苹果绿 xff0c 也可在一定程度上有效地缓眼睛疲劳症状了 在桌面上
  • 一个保护眼睛的小技巧

    一般情况用我都是800 600分辨率 xff0c 字体比较大 xff0c 看着舒服 如果在阅读文字资料时 xff0c 我喜欢用比较大的字体 xff0c 背景色是蓝色 xff0c 如下图 嘻嘻 xff0c 是不是看起来一点都不费神 xff0c
  • MySQL四种安装方式

    仓库安装 先在mysql官网上找到需要版本的域名然后用rpm安装下载下来 root 64 bb rpm ivh https repo mysql com mysql80 community release el9 1 noarch rpm
  • 十八. 200多万元得到的创业教训--社交软件之殇

    健生干货分享 xff1a 第18篇 摘要 xff1a 用了两年时间 xff0c 完成了两款社交app的开发 xff0c 两款app都挂掉了 xff0c 社交app成功的关键的是对用户 xff0c 产品的把握 xff0c 整合资源的能力 xf
  • 初学python

    文章作者 newjueqi 作者邮箱 zengjiansheng1 64 126 com 作者QQ号 190678908 作者博客 http blog csdn net newjueqi 作者声明 欢迎转载文章 xff0c 但转载请保持文章
  • 十九. 想快速开发app,需要找外包吗?

    健生干货分享 xff1a 第19篇 摘要 xff1a 最近和两位准备开发app的创业者聊天 xff0c 他们之前没有移动互联网的相关经验 xff0c 有的是想法和资金 他们在纠结 想快速开发app xff0c 需要找外包吗 xff1f 最近

随机推荐