本文实例讲述了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程序设计有所帮助。
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。