JavaScript动态添加Form表单元素示例

作者:小括号

时间:2026-10-22

浏览:454

本文介绍利用JavaScript动态添加Form表单元素的方法。通过cloneNode克隆节点并填充内容,实现游戏截图等不定数量文件的上传功能。

文章目录

JavaScript动态添加Form表单元素示例

本文介绍利用JavaScript动态添加Form表单元素的方法。

此前曾发布过类似文章(如:javascript实现的动态添加表单元素input,button等),相比之下,本文提供更为简洁实用的方案。

应用场景:后台需要上传游戏截图,由于截图数量不确定,因此采用动态添加input节点的方法来实现这一功能。

主要涉及以下函数:

document.getElementById();

objNode.parentNode;

objNode.cloneNode();

objNode.removeAtrribute();

objNode.innerHTML();

objNode.appendChild();

HTML代码:


<div class="well well-sm">
  <div class="form-group">
    <label class="form-label">游戏截图:</label>
    <input type="file" name="jietu[]" class="form-input">
    <span class="form-tip" onclick="add_jietu()"><font color="#428bca">点击添加游戏截图</font></span>
  </div>
  <div class="form-group" id="add_jietu">
    <label class="form-label">游戏截图:</label>
    <input type="file" name="jietu[]" class="form-input">
  </div>
</div>

JavaScript代码:


<script type="text/javascript">
function add_jietu()
{
  var add_jietu = document.getElementById('add_jietu');
  var nodeFather = add_jietu.parentNode;
  var node_clone = add_jietu.cloneNode();
  content = add_jietu.innerHTML;
  node_clone.removeAttribute('id');
  node_clone.innerHTML = content;
  nodeFather.appendChild(node_clone);
}
</script>

注意事项:

1. js第6行使用了"克隆节点"函数,克隆后的节点内部不包含HTML内容,需通过第9行的代码进行填充。

2. 使用克隆功能是因为该方法生成的变量类型为"节点类型",这样才能作为参数传入appendChild()函数。

3. 节点的 nextSibling 和 lastChild 属性返回的变量类型为 Text类型(在chrome的调试窗口中观察到)。

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript表单(form)操作技巧大全》、《JavaScript操作DOM技巧总结》、《JavaScript数组操作技巧总结》、《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》及《JavaScript错误与调试技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章