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 相关文章推荐
CSDN轮换广告图片轮换效果
Mar 27 Javascript
利用JQuery为搜索栏增加tag提示
Jun 22 Javascript
javascript采用数组实现tab菜单切换效果
Dec 12 Javascript
jQuery使用animate创建动画用法实例
Aug 07 Javascript
jQuery 选择同时包含两个class的元素的实现方法
Jun 01 Javascript
JSON字符串转换JSONObject和JSONArray的方法
Jun 03 Javascript
JavaScript自定义文本框光标
Mar 05 Javascript
js实现登录框鼠标拖拽效果
Mar 09 Javascript
超级简易的JS计算器实例讲解(实现加减乘除)
Aug 08 Javascript
vue 项目如何引入微信sdk接口的方法
Dec 18 Javascript
vue 界面刷新数据被清除 localStorage的使用详解
Sep 16 Javascript
微信sdk实现禁止微信分享(使用原生php实现)
Nov 15 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
php4的session功能评述(二)
2006/10/09 PHP
php基于Snoopy解析网页html的方法
2015/07/09 PHP
php字符串截取函数mb_substr用法实例分析
2019/06/25 PHP
jquery表单验证框架提供的身份证验证方法(示例代码)
2013/12/27 Javascript
NodeJS学习笔记之网络编程
2014/08/03 NodeJs
jquery实现点击页面计算点击次数
2015/01/23 Javascript
JavaScript常用脚本汇总(三)
2015/03/04 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
vue axios 给生产环境和发布环境配置不同的接口地址(推荐)
2018/05/08 Javascript
老生常谈JS中的继承及实现代码
2018/07/06 Javascript
QRCode.js二维码生成并能长按识别
2018/10/16 Javascript
vue-router命名视图的使用讲解
2019/01/19 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
JS中的const命令你真懂它吗
2020/03/08 Javascript
react 不用插件实现数字滚动的效果示例
2020/04/14 Javascript
忘记ftp密码使用python ftplib库暴力破解密码的方法示例
2014/01/22 Python
Python编程实现线性回归和批量梯度下降法代码实例
2018/01/04 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
Python学习_几种存取xls/xlsx文件的方法总结
2018/05/03 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
Python 格式化打印json数据方法(展开状态)
2020/02/27 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
Python中Selenium库使用教程详解
2020/07/23 Python
python 实现朴素贝叶斯算法的示例
2020/09/30 Python
python 决策树算法的实现
2020/10/09 Python
python实现图像随机裁剪的示例代码
2020/12/10 Python
HTML5 Canvas画线技巧——实现绘制一个像素宽的细线
2013/08/02 HTML / CSS
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
初二生物教学反思
2014/02/03 职场文书
《两个铁球同时着地》教学反思
2014/02/13 职场文书
2014年单位工作总结范文
2014/11/27 职场文书
社团个人总结范文
2015/03/05 职场文书
综合办公室岗位职责
2015/04/11 职场文书
台风停课通知
2015/04/24 职场文书