javascript创建动态表单的方法


Posted in Javascript onJuly 25, 2015

本文实例讲述了javascript创建动态表单的方法。分享给大家供大家参考。具体实现方法如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Language" content="zh-CN" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<title></title>
<style>
#tab {
border:1px solid #aaa;
border-collapse:collapse;
width:80%;
}
#tab th{
border:1px solid #aaaaaa;
background:#ECE9D8;
border-collapse:collapse;
padding:5px;
text-align:left;
}
#tab td{
border:1px solid #d8d8d8;
border-collapse:collapse;
padding:5px;
}
.txt{
  border:1px solid #888;
background:#ECE9D8;
}
.checkBg{
border:1px solid #aaaaaa;
background:#ECE9D8;
}
.checkTxt{
border:1px solid #aaa;
background:##d8d8d8;
}
.button {
  border:1px solid #888;margin:5px 0px;
  width:80px;background:#ECE9D8;height:22px;line-height:22px;
}
</style>
  <script language="javascript" type="text/javascript">
  function $(id) {return document.getElementById(id);}
  function $F(name){return document.getElementsByTagName(name);}
function add(){
  var otr = document.getElementById("tab").insertRow(-1);
  var checkTd=document.createElement("td");
  checkTd.innerHTML = '<input type="checkbox" class="check" onclick="ccolor()" name="checkItem">';
  var otd1 = document.createElement("td");
  otd1.innerHTML = '<input type="text" class="txt" name="infoName_txt" id="infoName_txt'+($('tab').rows.length-1)+'" maxlength="30" value=""/>';
  var otd2 = document.createElement("td");
  otd2.innerHTML = '<input type="text" class="txt" name="infoValue_txt" id="infoValue_txt'+($('tab').rows.length-1)+'" maxlength="30" value=""/>';
  otr.appendChild(checkTd);
  otr.appendChild(otd1); 
  otr.appendChild(otd2); 
}
function ccolor()
{
  var c1 = document.getElementsByName('checkItem');
  for(var i=0; i<c1.length; i++)
  if(c1[i].checked)
  {
   c1[i].parentNode.parentNode.className="checkBg";
   c1[i].parentNode.nextSibling.firstChild.className="checkTxt";
   c1[i].parentNode.nextSibling.nextSibling.firstChild.className="checkTxt";
  }
  else { c1[i].parentNode.parentNode.className="";
  c1[i].parentNode.nextSibling.firstChild.className="";
   c1[i].parentNode.nextSibling.nextSibling.firstChild.className="";}
}
function del(){
  var c = document.getElementsByName('checkItem');
  var idArray = new Array();
  for(var i=0; i<c.length; i++)
  if(c[i].checked)
  idArray.push(i);
  var rowIndex;
  var nextDiff =0;
  for(j=0;j< idArray.length;j++)
  {
  rowIndex = idArray[j]+1-nextDiff++;
  document.getElementById("tab").deleteRow(rowIndex);
  }
  }
function save(){
  var postString = $("postString");
   var checkboxs = document.getElementsByName("checkItem");
   var ttab = document.getElementsByName("infoName_txt");
   var tt2 = document.getElementsByName("infoValue_txt");
   var idArray = new Array();
   for(i=0;i<checkboxs.length;i++)
  {
   idArray.push(ttab[i].value + "|" + tt2[i].value); 
  }
   postString.value = idArray.join("-");
   alert(postString.value);
}
  function alldell()
  {
  var des =document.getElementsByName('checkItem');
  for(var i=0;i<des.length;i++)
  {
  if(des[i].checked=document.getElementById('delall').checked){
  des[i].parentNode.parentNode.className="checkBg";
  des[i].parentNode.nextSibling.firstChild.className="checkTxt";
  des[i].parentNode.nextSibling.nextSibling.firstChild.className="checkTxt";}
  else{ des[i].parentNode.parentNode.className="";
   des[i].parentNode.nextSibling.firstChild.className="";
   des[i].parentNode.nextSibling.nextSibling.firstChild.className="";}
  }
  } 
</script>
</head>
<body>
<input name="addv_btn" id="addv_btn" type="button" class="button" onClick="add();" value="add" /> 
<input name="del_btn" id="del_btn" type="button" class="button" onClick="del();" value="del" /> 
<input name="save" id="save" type="button" class="button" onClick="save();" value="save" /><br>
<table id="tab" >
<tr>
<th width="5%"><input type="checkbox" id="delall" onclick="alldell()"></td>
<th width="40%">Name</td>
<th width="55%">value</td> 
</tr>
</table>
<p>
<input type="text" name="postString" id="postString"> 
</p>
</body>
</html>

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

Javascript 相关文章推荐
js实现文本框输入文字个数限制代码
Dec 25 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
Jun 01 Javascript
学习Angularjs分页指令
Jul 01 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
VUE多层路由嵌套实现代码
May 15 Javascript
jQuery列表检索功能实现代码
Jul 17 jQuery
浅谈Angular2 ng-content 指令在组件中嵌入内容
Aug 18 Javascript
利用node实现一个批量重命名文件的函数
Dec 21 Javascript
微信小程序项目实践之验证码倒计时功能
Jul 18 Javascript
详解vuejs中执行npm run dev出现页面cannot GET/问题
Apr 26 Javascript
js实现轮播图特效
May 28 Javascript
antd form表单数据回显操作
Nov 02 Javascript
javascript文件加载管理简单实现方法
Jul 25 #Javascript
javascript页面倒计时实例
Jul 25 #Javascript
javascript解析xml实现省市县三级联动的方法
Jul 25 #Javascript
基于javascript实现单选及多选的向右和向左移动实例
Jul 25 #Javascript
javascript实现信息增删改查的方法
Jul 25 #Javascript
jQuery菜单插件用法实例
Jul 25 #Javascript
javascript单例模式的简单实现方法
Jul 25 #Javascript
You might like
php 动态多文件上传
2009/01/18 PHP
php 数组二分法查找函数代码
2010/02/16 PHP
PHP学习笔记 (1) 环境配置与代码调试
2011/06/19 PHP
通过curl模拟post和get方式提交的表单类
2014/04/23 PHP
php版微信公众号自定义分享内容实现方法
2016/09/22 PHP
PHP反射机制原理与用法详解
2017/02/15 PHP
php基于PDO实现功能强大的MYSQL封装类实例
2017/02/27 PHP
jQuery拖动图片删除示例
2013/05/10 Javascript
用Jquery选择器计算table中的某一列某一行的合计
2014/08/13 Javascript
javascript实现根据身份证号读取相关信息
2014/12/17 Javascript
深入理解JavaScript系列(43):设计模式之状态模式详解
2015/03/04 Javascript
JavaScript中Null与Undefined的区别解析
2015/06/30 Javascript
对jQuary选择器的全面总结
2016/06/20 Javascript
必备的JS调试技巧汇总
2016/07/20 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
jquery版轮播图效果和extend扩展
2017/07/18 jQuery
js实现前端图片上传即时预览功能
2017/08/02 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
JavaScript设计模式之享元模式实例详解
2019/01/17 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
node运行js获得输出的三种方式示例详解
2020/07/02 Javascript
Vue 请求传公共参数的操作
2020/07/31 Javascript
在Django的通用视图中处理Context的方法
2015/07/21 Python
Flask框架Flask-Login用法分析
2018/07/23 Python
Python代码注释规范代码实例解析
2020/08/14 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
Lacoste(法国鳄鱼)加拿大官网:以标志性的POLO衫而闻名
2019/05/15 全球购物
竞选副班长演讲稿
2014/04/24 职场文书
2014广电局实施党的群众路线教育实践活动方案思想汇报
2014/09/22 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
2014年乡镇工会工作总结
2014/12/02 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
成人成长感言如何写?
2019/08/16 职场文书
Java9新特性对HTTP2协议支持与非阻塞HTTP API
2022/03/16 Java/Android