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 相关文章推荐
Google Suggest ;-) 基于js的动态下拉菜单
Oct 11 Javascript
JavaScript Event学习第七章 事件属性
Feb 07 Javascript
获取非最后一列td值并将title设为该值的方法
Oct 30 Javascript
Node.js的Mongodb使用实例
Dec 30 Javascript
angular4自定义组件详解
Sep 28 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
Aug 13 Javascript
浅谈小程序 setData学问多
Feb 20 Javascript
Angular2使用SVG自定义图表(条形图、折线图)组件示例
May 10 Javascript
vue 集成jTopo 处理方法
Aug 07 Javascript
iview form清除校验状态的实现
Sep 19 Javascript
ckeditor一键排版功能实现方法分析
Feb 06 Javascript
微信小程序vant弹窗组件的实现方式
Feb 21 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 xml文件操作代码(一)
2009/03/20 PHP
非常精妙的PHP递归调用与静态变量使用
2012/12/16 PHP
教大家制作简单的php日历
2015/11/17 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
PHP微信H5支付开发实例
2018/07/25 PHP
javascript 常用功能总结
2012/03/18 Javascript
JS获取页面input控件中所有text控件并追加样式属性
2013/02/25 Javascript
jQuery+css实现图片滚动效果(附源码)
2013/03/18 Javascript
jquery中animate动画积累的解决方法
2013/10/05 Javascript
Javascript 按位与赋值运算符 (&amp;=)使用介绍
2014/02/04 Javascript
基于jquery二维码生成插件qrcode
2017/01/07 Javascript
jQuery插件FusionCharts绘制的2D条状图效果【附demo源码】
2017/05/13 jQuery
Vue2.0 给Tab标签页和页面切换过渡添加样式的方法
2018/03/13 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
原生JavaScript实现滑动拖动验证的示例代码
2019/12/06 Javascript
详解JavaScript之ES5的继承
2020/07/08 Javascript
微信小程序弹窗禁止页面滚动的实现代码
2020/12/30 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
[03:31]DOTA2英雄基础教程 大地之灵
2013/12/17 DOTA
python的id()函数解密过程
2012/12/25 Python
python连接远程ftp服务器并列出目录下文件的方法
2015/04/01 Python
用python统计代码行的示例(包括空行和注释)
2018/07/24 Python
Pytorch转keras的有效方法,以FlowNet为例讲解
2020/05/26 Python
python工具——Mimesis的简单使用教程
2021/01/16 Python
西海岸男士和男童服装:Johnnie-O
2018/03/15 全球购物
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
大学生个人实习的自我评价
2014/02/15 职场文书
教育合作协议范本
2014/10/17 职场文书
单位接收函格式
2015/01/30 职场文书
公司2015年终工作总结
2015/05/26 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
投诉信回复范文
2015/07/03 职场文书
2015秋季开学典礼新闻稿
2015/07/17 职场文书
解决pytorch 损失函数中输入输出不匹配的问题
2021/06/05 Python
Mysql中一千万条数据怎么快速查询
2021/12/06 MySQL