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 加载时自动调整图片大小
May 28 Javascript
关于js拖拽上传 [一个拖拽上传修改头像的流程]
Jul 13 Javascript
深入理解javascript学习笔记(一) 编写高质量代码
Aug 09 Javascript
jquery div拖动效果示例代码
Dec 08 Javascript
jquery制作select列表双向选择示例代码
Sep 02 Javascript
基于jQuery实现仿51job城市选择功能实例代码
Mar 02 Javascript
AngularJS全局scope与Isolate scope通信用法示例
Nov 22 Javascript
bootstrap fileinput实现文件上传功能
Aug 23 Javascript
Vue DevTools调试工具的使用
Dec 05 Javascript
Js面试算法详解
Apr 08 Javascript
微信小程序基于Taro的分享图片功能实践详解
Jul 12 Javascript
基于vue hash模式微信分享#号的解决
Sep 07 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 empty,isset,is_null判断比较(差异与异同)
2010/10/19 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
[原创]PHP实现逐行删除文件右侧空格的方法
2015/12/25 PHP
用Javascript 和 CSS 实现脚注(Footnote)效果
2009/09/09 Javascript
简洁短小的 JavaScript IE 浏览器判定代码
2010/03/21 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
Microsfot .NET Framework4.0框架 安装失败的解决方法
2013/08/14 Javascript
jquery与js函数冲突的两种解决方法
2013/09/09 Javascript
浅析angularJS中的ui-router和ng-grid模块
2016/05/20 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
javascript解决小数的加减乘除精度丢失的方案
2016/05/31 Javascript
详解ElementUI之表单验证、数据绑定、路由跳转
2017/06/21 Javascript
JQuery 获取Dom元素的实例讲解
2017/07/08 jQuery
JS实现静态页面搜索并高亮显示功能完整示例
2017/09/19 Javascript
vue实现计步器功能
2019/11/01 Javascript
vue-cli在 history模式下的配置详解
2019/11/26 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
Vue简单封装axios之解决post请求后端接收不到参数问题
2020/02/16 Javascript
[01:11:21]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第一场 3月6日
2021/03/11 DOTA
一个月入门Python爬虫学习,轻松爬取大规模数据
2018/01/03 Python
解决python nohup linux 后台运行输出的问题
2018/05/11 Python
Python3导入CSV文件的实例(跟Python2有些许的不同)
2018/06/22 Python
Python使用APScheduler实现定时任务过程解析
2019/09/11 Python
python中for循环变量作用域及用法详解
2019/11/05 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
英国赛车、汽车改装和摩托车零件购物网站:Demon Tweeks
2018/10/29 全球购物
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
毕业生欢送会主持词
2014/03/31 职场文书
《火烧云》教学反思
2014/04/12 职场文书
群教个人对照检查材料
2014/08/20 职场文书
2014乡镇党委副书记对照检查材料思想汇报
2014/10/09 职场文书
Laravel中获取IP的真实地理位置
2021/04/01 PHP
vue+springboot实现登录验证码
2021/05/27 Vue.js
jackson json序列化实现首字母大写,第二个字母需小写
2021/06/29 Java/Android
动画「半妖的夜叉姬」新BD特典图公开
2022/03/22 日漫
Python如何让字典保持有序排列
2022/04/29 Python