• javascript动态添加form表单元素


    2014年11月7日 17:10:40

    之前写过几篇类似的文章,现在看来比较初级,弄一个高级的简单的

    情景: 后台要上传游戏截图,截图数量不确定,因此使用动态添加input节点的方法去实现这个效果

    主要用到的函数有: 

    document.getElementById();

    objNode.parentNode;

    objNode.cloneNode();

    objNode.removeAtrribute();

    objNode.innerHTML();

    objNode.appendChild();

    html:

     1 <div class="well well-sm">
     2     <div class="form-group">
     3         <label  class="form-label">游戏截图:</label>
     4         <input type="file"  name="jietu[]" class="form-input">
     5         <span class="form-tip" onclick="add_jietu()"><font color="#428bca">点击添加游戏截图</font></span>
     6     </div>
     7     <div class="form-group" id="add_jietu">
     8         <label  class="form-label">游戏截图:</label>
     9         <input type="file"  name="jietu[]" class="form-input">
    10     </div>
    11 </div>

    javascript:

     1 <script type="text/javascript">
     2 function add_jietu()
     3 {
     4     var add_jietu = document.getElementById('add_jietu');
     5     var nodeFather = add_jietu.parentNode;
     6     var node_clone = add_jietu.cloneNode();
     7     content = add_jietu.innerHTML;
     8     node_clone.removeAttribute('id');
     9     node_clone.innerHTML = content;
    10     nodeFather.appendChild(node_clone);
    11 }
    12 </script>

    注意:

    1. js第6行使用的是"克隆节点"函数,克隆后的节点里边并没有html,需要第9行的代码去填充内容

    2. 使用克隆功能,因为该方法生成的变量类型是"节点类型", 才可以用到appendChild()函数里做参数

    3. 节点的 nextSibling 和 lastChild 属性得到的变量是 Text类型(在chrome的调试窗口中看到的)

    Finger PHP 框架

  • 相关阅读:
    安装VS2003出现“FrontPage 2000 WEB 扩展客户端”安装失败时
    字符编码:ASCII,Unicode和UTF8
    AWK学习笔记
    static关键字用法总结
    拷贝构造函数,浅拷贝与深拷贝
    安装IIS步骤图解
    配置SQL Server 2005 Express的身份验证方式,以及如何启用sa登录名
    ASP.NET的学习
    C# 中的委托和事件(转)
    OSI七层模型
  • 原文地址:https://www.cnblogs.com/iLoveMyD/p/4081824.html
Copyright © 2020-2023  润新知