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 相关文章推荐
jscript之Open an Excel Spreadsheet
Jun 13 Javascript
用Mootools获得操作索引的两种方法分享
Dec 12 Javascript
JQ获取动态加载的图片大小的正确方法分享
Nov 08 Javascript
分享10个原生JavaScript技巧
Apr 20 Javascript
jQuery的position()方法详解
Jul 19 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
Sep 27 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
Oct 24 Javascript
canvas轨迹回放功能实现
Dec 20 Javascript
JS简单实现动态添加HTML标记的方法示例
Apr 08 Javascript
深入理解Vue router的部分高级用法
Aug 15 Javascript
JS手写一个自定义Promise操作示例
Mar 16 Javascript
Vue中正确使用Element-UI组件的方法实例
Oct 13 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
上海地方志办公室-上海电子仪表工业志
2021/03/04 无线电
新版mysql+apache+php Linux安装指南
2006/10/09 PHP
PHP面向对象法则
2012/02/23 PHP
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
Yii中Model(模型)的创建及使用方法
2015/12/28 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
2017/09/21 PHP
PHP使用PDO访问oracle数据库的步骤详解
2017/09/29 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
javascript删除字符串最后一个字符
2014/01/14 Javascript
JavaScript中利用各种循环进行遍历的方式总结
2015/11/10 Javascript
NPM 安装cordova时警告:npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to
2016/12/20 Javascript
实战node静态文件服务器的示例代码
2018/03/08 Javascript
微信小程序中使用wxss加载图片并实现动画效果
2018/08/13 Javascript
基于javascript处理nginx请求过程详解
2020/07/07 Javascript
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
详解Python中列表和元祖的使用方法
2015/04/25 Python
对python字典元素的添加与修改方法详解
2018/07/06 Python
Django中间件拦截未登录url实例详解
2019/09/03 Python
python lambda表达式(匿名函数)写法解析
2019/09/16 Python
python 使用shutil复制图片的例子
2019/12/13 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
Python终端输出彩色字符方法详解
2020/02/11 Python
Python爬虫headers处理及网络超时问题解决方案
2020/06/19 Python
HTML5新特性之用SVG绘制微信logo
2016/02/03 HTML / CSS
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
初三物理教学反思
2014/01/21 职场文书
旷课检讨书大全
2014/01/21 职场文书
《中华少年》教学反思
2014/02/15 职场文书
化妆品促销方案
2014/02/24 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
机械操作工岗位职责
2014/08/08 职场文书
2014年科室工作总结范文
2014/12/19 职场文书
【HBU】数据库第四周 单表查询
2021/04/05 SQL Server
如何在Python中妥善使用进度条详解
2022/04/05 Python