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 相关文章推荐
JavaScript点击按钮后弹出透明浮动层的方法
May 11 Javascript
JavaScript基础知识及常用方法总结
Jan 10 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
Feb 16 Javascript
Jquery获取当前城市的天气信息
Aug 05 Javascript
微信小程序之购物车功能
Sep 23 Javascript
Angularjs实现控制器之间通信方式实例总结
Mar 27 Javascript
Node.js进阶之核心模块https入门
May 23 Javascript
JavaScript求一个数组中重复出现次数最多的元素及其下标位置示例
Jul 23 Javascript
Bootstrap Fileinput 4.4.7文件上传实例详解
Jul 25 Javascript
小程序实现层叠卡片滑动效果
Aug 26 Javascript
使用Vue 自定义文件选择器组件的实例代码
Mar 04 Javascript
VUE 实现element upload上传图片到阿里云
Aug 12 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无限分类(树形类)的深入分析
2013/06/02 PHP
php实现查询百度google收录情况(示例代码)
2013/08/02 PHP
Zend Framework入门教程之Zend_Mail用法示例
2016/12/08 PHP
网上抓的一个特效
2007/05/11 Javascript
js 新浪的一个图片播放图片轮换效果代码
2008/07/15 Javascript
jquery表单验证使用插件formValidator
2012/11/10 Javascript
JavaScript对象学习经验整理
2013/10/12 Javascript
利用js正则表达式验证手机号,email地址,邮政编码
2014/01/23 Javascript
node.js中的fs.write方法使用说明
2014/12/15 Javascript
JQuery仿小米手机抢购页面倒计时效果
2014/12/16 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
javascript实现自动输出文本(打字特效)
2015/08/27 Javascript
jQuery实现拖拽页面元素并将其保存到cookie的方法
2016/06/12 Javascript
Angular2中如何使用ngx-translate进行国际化
2017/05/21 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
微信小程序实现购物页面左右联动
2019/02/15 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
Vue项目环境搭建详细总结
2019/09/26 Javascript
python 中文字符串的处理实现代码
2009/10/25 Python
Python和Ruby中each循环引用变量问题(一个隐秘BUG?)
2014/06/04 Python
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
Python3实现的简单三级菜单功能示例
2019/03/12 Python
Python 3.9的到来到底是意味着什么
2020/10/14 Python
总裁岗位职责
2013/12/04 职场文书
毕业生求职自荐信怎么写
2014/01/08 职场文书
秋季运动会广播稿
2014/02/22 职场文书
卫生厅领导班子党的群众路线教育实践活动整改措施
2014/09/20 职场文书
小区的门卫岗位职责
2014/10/01 职场文书
银行竞聘报告范文
2014/11/06 职场文书
优秀教师先进材料
2014/12/16 职场文书
2015年父亲节寄语
2015/03/23 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
欢送会主持词
2015/07/01 职场文书
2016年秋季新学期致辞
2015/07/30 职场文书
Java由浅入深通关抽象类与接口(上篇)
2022/04/26 Java/Android