AJAX在TRDS当中的应用

  • Post author:
  • Post category:其他


AJAX在TRDS当中的应用

系统开发是个巨大的脑力工程,一般需要一个团队花费大量时间去完成的,同时也要参考不同专家的意见、建议和经验。

去年有幸到省公司帮忙,接触到全省

设备大数据以及存在的问题

。四个人加起来差不多花了一周时间才圆满完成工作,期间是来自不同公司的不同岗位(职业)。虽然通力合作,但是沟通误差以及数据误差在所难免。那么有没有一种方法能够避免认知上的障碍,快速沟通并增加时效性呢?

据说PYTHON比较火,关注了几年

大数据

,一时技痒,回到单位拿着报表试了试,果然爽翻,秒秒钟处理完毕。老师们是不是要改变一下传统思路,加入检修行业IT技术流阵营?

对于python,只是走马观花浏览一遍,还没有细细品味,不在累述。下面一起记录一下系统开发过程当中存在的问题。



如何实现自增行并插入自增数据?

试验报告数据分析系统TEST REPORT DATA SYSTEM,以下简称TRDS,从我们的设想、设计阶段,一直就存一个问题,在前端怎么实现档位–即线间试验数据的自增行和向数据库插入数据记录?

从事过电力检修,尤其是高压试验的同志们都应该了解,由于制造厂家和容量的不同,变压器的档位不一。就我们日常接触的变压器而言,10KV及以下的档位为5个,110KV及以下(不含35KV)的档位为19个,当然也有21档,甚至更多档位的。相间数据如a0、b0、c0相对容易记录,线间数据就比较繁琐,一般格式如下:

档位\相序 AB BC CA 误差%
1 199 198 197 1.02
1 *** *** *** ***
n *** *** *** ***


计算机记录数据的流程相对复杂

纸质记录、电子档记录简单,后台数据库就相对复杂:

数据库的结构,这里单列直阻测试除了铭牌信息、其他试验项目
该数据表只着重直阻部分,数值类型仅有两种,在日后的计算当中,字符型数据可能并不适用,仍需要逐条修改。建议开发者在设计的时候理顺数值类型,以免重新翻工。

前期功能–入库的顺序:

1、通过input框实现变量的赋值。录入档位1-n,不同试验项目,不同相序的多维数据,必须要先设计数据库,进行data字段定义。

2、tpadmin控制器、html页面的input…相互对应name标记。

3、将赋值来的多为数据,通过POST传参,传给接收器。

3、data字段定义,并赋值,传参给数据库。

4、对应写入相应数据库表单。

后期功能–入库后的处理:

5、CURD功能,尤其是后期检索功能的实现、优化。

6、生成报表,呈现给大数据仪表盘。

7、根据标准、周期等的检索和前端交互。

8、临期提醒、到期提醒、未完成提醒…

9、其他专业的前端格式拓展,其他行业检测专业的格式化拓展。

题外话

传统意义上的计算机、信息化听起来高大上,事实上都是按照人脑的指令在批处理。在AI出现以前,计算机不会思考,是傻乎乎的存在。针对试验报告记录,也是一样。我们在进行纸质记录或者电子记录的时候非常简单,直接手抄就行了。除20度换算外,误差值的计算通过计算器直接算出。那么还有没有必要再做成系统?事实上,在之前我们经常提到,**做成TDRS的目的是为了实现完全的自动化。只要在现场直接录入试验数据,误差值计算结果、是否符合规程标准、到期、临期、检修完成率、检修质量、已修、未修统统计算或者手动拉取呈现。**包含OCR对历史文档数据的识别、存取,甚至从试验用测试仪器端口(通过发射器)直接上传数据,生成数据库。当然这也只是设想、设计,需要在开发的过程当中不断去验证、修正,最起码从1.0到2.0版本,实现了现场录入和自动计算的功能,数据计算和仪表盘功能将会不断研究、开发。

有些朋友没有做过开发工作,时常拿办公文档来对比能效问题(精熟了也很6),前面我也已经提到,所有成为系统的软件,必定是为了解决某一特殊领域通用功能和专用功能的需求、痛点。换句话说,为一个人、一台设备去开发一个通用或专用的软件,耗时耗力,没有意义,之所以执念开发TDRS,痛点肯定是长期的、有效的、难以解决的需求。就我们市县100+公司部分的访谈结果来看,这种痛点是大家的。

举个例子,我们日常负责20个站,每个站1-3台不同规格的主变,台区配变可以不用我们操劳,用户的配变也不在少数。随着经济发展,工厂、楼盘不断增加,主网或者变压器的数量也随之增加,高压试验的人数是固定的。电力高压试验项目众多,针对变压器高压试验的项目也尤其繁多,大多数主网或配网用户,基本上都在赶工期,试验项目也是一样。这种情况下,只有速度没有质量、重视质量忽视安全。

另外,总公司也好,省市公司也罢,一体化进程可能囊括TDRS部分功能,TDRS在电网的发展可能并不十分顺利,但是后期图表才是亮点,而且一体化系统,并没有因地制宜的灵活功能。所以数据…当然以一线为准,否则我们花费的时间就纯属学习、娱乐了。

在AJAX处理请求前,首先我们要有交互的动态录入表格作为前端,将动态INPUT数据通过AJAX提交给B页面以便插入数据库。经验证,TPadmin的支持的交互方式一共有三种:innerHTML、insertROW、clone方法,其中insertROW insertCell方法所生成的input,录入的input数据可以通过var tb=document.getElementById(“order”); tb=tb.innerHTML;获得。

AJAX前端交互,实现表格自增行(修改之后,复选框、全选删除、修改功能受限,BUG还要回退修改)

	//表格添加行    
function addRow(){
   var addTable=document.getElementById("order");
   var row_index=addTable.rows.length-1;       //新插入行在表格中的位置
   var newRow=addTable.insertRow(row_index);  //插入新行
   newRow.id="row"+row_index;                 //设置新插入行的ID,ID自增自减   
   var col2=newRow.insertCell(0);
   col2.innerHTML="<td width=\"2%\" align=\"center\" bgcolor=\"#EFEFEF\" Name=\"check\"><input type=\"checkbox\" name=\"checkbox\"></td>"; //定义第一行为input型数据?checkbox为第一行复选框
   var col1=newRow.insertCell(1);
   col1.innerHTML=row_index;   
   var col2=newRow.insertCell(2);
   col2.innerHTML="430.1"   
   var col3=newRow.insertCell(3);
   col3.innerHTML="430.2";   
   var col4=newRow.insertCell(4);
   col4.innerHTML="430.3";   
   var col5=newRow.insertCell(5);
   col5.innerHTML="1.2";   
   var col6=newRow.insertCell(6);   
   var str="<input name='del"+row_index+"' type='button' value='删除' οnclick=\"delRow('row"+row_index+ "')\" /> <input id='edit"+row_index+"' type='button' value='修改' οnclick=\"editRow('row"+row_index+ "')\" /> <br> ";
col6.innerHTML=str;

	//根据行号奇偶设置不同背景色
   if(row_index%2 == 1){
	newRow.cells[0].setAttribute("bgcolor","#FFFFFF");
	newRow.cells[1].setAttribute("bgcolor","#FFFFFF");
	newRow.cells[2].setAttribute("bgcolor","#FFFFFF");
	newRow.cells[3].setAttribute("bgcolor","#FFFFFF"); 
	newRow.cells[4].setAttribute("bgcolor","#FFFFFF");
	newRow.cells[5].setAttribute("bgcolor","#FFFFFF");
	newRow.cells[6].setAttribute("bgcolor","#FFFFFF");  
	}else{
	newRow.cells[0].setAttribute("bgcolor","#f2fbff");
	newRow.cells[1].setAttribute("bgcolor","#f2fbff");
	newRow.cells[2].setAttribute("bgcolor","#f2fbff");
	newRow.cells[3].setAttribute("bgcolor","#f2fbff");
	newRow.cells[4].setAttribute("bgcolor","#f2fbff");
	newRow.cells[5].setAttribute("bgcolor","#f2fbff");
	newRow.cells[6].setAttribute("bgcolor","#f2fbff");
	}
	
    //设置表格行可编辑
	SetRowCanEdit(newRow);
	return newRow;
	}
	
function delRow(rowId){
	var row=document.getElementById(rowId).rowIndex;   //删除行所在表格中的位置
	document.getElementById("order").deleteRow(row); 
	}
	
function editRow(rowId){
	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[1].innerHTML;
	col[1].innerHTML="<input name='tapposition1"+row+"' style='width:18%;' type='text' value='"+text+"' οnclick='GetTableData("+tb+");'/>";
	
	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[2].innerHTML;
	col[2].innerHTML="<input name='testab1"+row+"' style='width:18%;' type='text' value='"+text+"' />";
	
	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[3].innerHTML;
	col[3].innerHTML="<input name='testbc1"+row+"' style='width:18%;' type='text' value='"+text+"' />";
	
	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[4].innerHTML;
	col[4].innerHTML="<input name='testca1"+row+"' style='width:18%;' type='text' value='"+text+"' />";
	
	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[5].innerHTML;
	col[5].innerHTML="<input name='dataerror1"+row+"' style='width:18%;' type='text' value='"+text+"' /><br>";
	
	col[6].lastChild.value="确定";
	col[6].lastChild.setAttribute("onclick","upRow('"+rowId+ "')");	
	}	
	
function upRow(rowId){
	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[0].firstChild.value;
	col[0].innerHTML=text;	

	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[1].firstChild.value;
	col[1].innerHTML=text;	

	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[2].firstChild.value;
	col[2].innerHTML=text;	

	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[3].firstChild.value;
	col[3].innerHTML=text;	

	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[4].firstChild.value;
	col[4].innerHTML=text;	

	var row=document.getElementById(rowId).rowIndex;   //修改行所在表格中的位置
	var col=document.getElementById(rowId).cells;
	var text=col[5].firstChild.value;
	col[5].innerHTML=text;	
	
	col[6].lastChild.value="修改";
	col[6].lastChild.setAttribute("onclick","editRow('"+rowId+ "')");
	}
	
	//Check All全选
	function chk(type,o){
	var oInpt = document.getElementsByTagName("input");
	for (var i=0; i<oInpt.length; i++){
	if (oInpt[i].type == "checkbox"){
	oInpt[i].checked = o.checked;
	}
	}
	}
			
	//Check Fan反选
	function chkFun(){
	var oTB = document.getElementById("order");
	var oInpt = oTB.getElementsByTagName("input");
	for (var i=1; i<oInpt.length; i++){
	if (oInpt[i].type == "checkbox"){
	if (oInpt[i].checked)
	{
	oInpt[i].checked = false;
	}else{
	oInpt[i].checked = true;
	}
	}
	}
	}

JS原生获取数据代码如下:

function GetTableData() { 
var tb=document.getElementById("order");//获取动态新增值,成功,将数据赋值给tb
	//var inputs = form.getElementsByTagName("input");//获得想要提交的所有div
	var rows = tb.rows;  //使得行指针rows获取到tb表长度,即原始的rows长度     
	//i为指针,小于rows长度自增,遍历新增table
	for(var i = 1; i<rows.length; i++ ){
	// 遍历该rows行的td(列)
		for(var j = 1; j<rows[i].cells.length; j++ ){    
		//第一种,取得动态新增所有行列数据
			var addtb=tb.innerHTML; //tb取得order下面的所有值赋值给addtb(中间变量继承),下一步让tb成为数组,或对应字段分开取值
		<!-- //第二种,取得某一行一列的数据 -->
			<!-- //var tb=document.getElementById ("order").rows [i].cells[j];//取得某一行一列的数据,指针只走两步 -->
			<!-- //var tapposition1=rows[2].cells[1].innerHTML;//取得某一行一列的数据,赋值给某一字段,但并不能传递参数 -->
			
			<!-- //为一行数组赋值,成功 -->
			var row1 = new Array();	//存放数据的数组,创建空数组,这里的row1为第一行的数组
				row1[0]=rows[1].cells[1].innerHTML;
				row1[1]=rows[1].cells[2].innerHTML;
				row1[2]=rows[1].cells[3].innerHTML;
				row1[3]=rows[1].cells[4].innerHTML;
				row1[4]=rows[1].cells[5].innerHTML;	
			var row2 = new Array();
				row2[0]=rows[2].cells[1].innerHTML;
				row2[1]=rows[2].cells[2].innerHTML;
				row2[2]=rows[2].cells[3].innerHTML;
				row2[3]=rows[2].cells[4].innerHTML;
				row2[4]=rows[2].cells[5].innerHTML;	
			var row3 = new Array();
				row3[0]=rows[3].cells[1].innerHTML;
				row3[1]=rows[3].cells[2].innerHTML;
				row3[2]=rows[3].cells[3].innerHTML;
				row3[3]=rows[3].cells[4].innerHTML;
				row3[4]=rows[3].cells[5].innerHTML;	
			var row4 = new Array();
				row4[0]=rows[4].cells[1].innerHTML;
				row4[1]=rows[4].cells[2].innerHTML;
				row4[2]=rows[4].cells[3].innerHTML;
				row4[3]=rows[4].cells[4].innerHTML;
				row4[4]=rows[4].cells[5].innerHTML;				
			var row5 = new Array();
				row5[0]=rows[5].cells[1].innerHTML;
				row5[1]=rows[5].cells[2].innerHTML;
				row5[2]=rows[5].cells[3].innerHTML;
				row5[3]=rows[5].cells[4].innerHTML;
				row5[4]=rows[5].cells[5].innerHTML;				
			var row6 = new Array();
				row6[0]=rows[6].cells[1].innerHTML;
				row6[1]=rows[6].cells[2].innerHTML;
				row6[2]=rows[6].cells[3].innerHTML;
				row6[3]=rows[6].cells[4].innerHTML;
				row6[4]=rows[6].cells[5].innerHTML;	
			var row7 = new Array();
				row7[0]=rows[7].cells[1].innerHTML;
				row7[1]=rows[7].cells[2].innerHTML;
				row7[2]=rows[7].cells[3].innerHTML;
				row7[3]=rows[7].cells[4].innerHTML;
				row7[4]=rows[7].cells[5].innerHTML;	
			var row8 = new Array();
				row8[0]=rows[8].cells[1].innerHTML;
				row8[1]=rows[8].cells[2].innerHTML;
				row8[2]=rows[8].cells[3].innerHTML;
				row8[3]=rows[8].cells[4].innerHTML;
				row8[4]=rows[8].cells[5].innerHTML;					
			var row9 = new Array();
				row9[0]=rows[9].cells[1].innerHTML;
				row9[1]=rows[9].cells[2].innerHTML;
				row9[2]=rows[9].cells[3].innerHTML;
				row9[3]=rows[9].cells[4].innerHTML;
				row9[4]=rows[9].cells[5].innerHTML;	
			var row10 = new Array();
				row10[0]=rows[10].cells[1].innerHTML;
				row10[1]=rows[10].cells[2].innerHTML;
				row10[2]=rows[10].cells[3].innerHTML;
				row10[3]=rows[10].cells[4].innerHTML;
				row10[4]=rows[10].cells[5].innerHTML;
			var row11 = new Array();
				row11[0]=rows[11].cells[1].innerHTML;
				row11[1]=rows[11].cells[2].innerHTML;
				row11[2]=rows[11].cells[3].innerHTML;
				row11[3]=rows[11].cells[4].innerHTML;
				row11[4]=rows[11].cells[5].innerHTML;
			var row12 = new Array();
				row12[0]=rows[12].cells[1].innerHTML;
				row12[1]=rows[12].cells[2].innerHTML;
				row12[2]=rows[12].cells[3].innerHTML;
				row12[3]=rows[12].cells[4].innerHTML;
				row12[4]=rows[12].cells[5].innerHTML;
			var row13 = new Array();
				row13[0]=rows[13].cells[1].innerHTML;
				row13[1]=rows[13].cells[2].innerHTML;
				row13[2]=rows[13].cells[3].innerHTML;
				row13[3]=rows[13].cells[4].innerHTML;
				row13[4]=rows[13].cells[5].innerHTML;
			var row14 = new Array();
				row14[0]=rows[14].cells[1].innerHTML;
				row14[1]=rows[14].cells[2].innerHTML;
				row14[2]=rows[14].cells[3].innerHTML;
				row14[3]=rows[14].cells[4].innerHTML;
				row14[4]=rows[14].cells[5].innerHTML;
			var row15 = new Array();
				row15[0]=rows[15].cells[1].innerHTML;
				row15[1]=rows[15].cells[2].innerHTML;
				row15[2]=rows[15].cells[3].innerHTML;
				row15[3]=rows[15].cells[4].innerHTML;
				row15[4]=rows[15].cells[5].innerHTML;
			var row16 = new Array();
				row16[0]=rows[16].cells[1].innerHTML;
				row16[1]=rows[16].cells[2].innerHTML;
				row16[2]=rows[16].cells[3].innerHTML;
				row16[3]=rows[16].cells[4].innerHTML;
				row16[4]=rows[16].cells[5].innerHTML;
			var row17 = new Array();
				row17[0]=rows[17].cells[1].innerHTML;
				row17[1]=rows[17].cells[2].innerHTML;
				row17[2]=rows[17].cells[3].innerHTML;
				row17[3]=rows[17].cells[4].innerHTML;
				row17[4]=rows[17].cells[5].innerHTML;
			var row18 = new Array();
				row18[0]=rows[18].cells[1].innerHTML;
				row18[1]=rows[18].cells[2].innerHTML;
				row18[2]=rows[18].cells[3].innerHTML;
				row18[3]=rows[18].cells[4].innerHTML;
				row18[4]=rows[18].cells[5].innerHTML;
			var row19 = new Array();
				row19[0]=rows[19].cells[1].innerHTML;
				row19[1]=rows[19].cells[2].innerHTML;
				row19[2]=rows[19].cells[3].innerHTML;
				row19[3]=rows[19].cells[4].innerHTML;
				row19[4]=rows[19].cells[5].innerHTML;					
				
			<!-- //为一列数组赋值 取不到数据 -->
			<!-- var tapposition1 = new Array();	//存放数据的数组,创建空数组,这里的row1为第一行的数组 -->
				<!-- cell1[1]=rows[1].cells[1].innerHTML; -->
				<!-- cell2[2]=rows[2].cells[1].innerHTML; -->
				<!-- cell3[3]=rows[3].cells[1].innerHTML; -->
				<!-- cell4[4]=rows[4].cells[1].innerHTML; -->
				<!-- cell5[5]=rows[5].cells[1].innerHTML; -->
				<!-- cell6[6]=rows[6].cells[1].innerHTML; -->
				<!-- cell7[7]=rows[7].cells[1].innerHTML; -->
				<!-- cell8[8]=rows[8].cells[1].innerHTML; -->
				<!-- cell9[9]=rows[9].cells[1].innerHTML; -->
				<!-- cell10[10]=rows[10].cells[1].innerHTML; -->
				<!-- cell11[11]=rows[11].cells[1].innerHTML; -->
				<!-- cell12[12]=rows[12].cells[1].innerHTML; -->
				<!-- cell13[13]=rows[13].cells[1].innerHTML; -->
				<!-- cell14[14]=rows[14].cells[1].innerHTML; -->
				<!-- cell15[15]=rows[15].cells[1].innerHTML;				 -->
				<!-- cell16[16]=rows[16].cells[1].innerHTML; -->
				<!-- cell17[17]=rows[17].cells[1].innerHTML; -->
				<!-- cell18[18]=rows[18].cells[1].innerHTML;			 -->
				<!-- cell19[19]=rows[19].cells[1].innerHTML; -->
			<!-- var testab1 = new Array(); -->
				<!-- cell1[1]=rows[1].cells[2].innerHTML; -->
				<!-- cell2[2]=rows[2].cells[2].innerHTML; -->
				<!-- cell3[3]=rows[3].cells[2].innerHTML; -->
				<!-- cell4[4]=rows[4].cells[2].innerHTML; -->
				<!-- cell5[5]=rows[5].cells[2].innerHTML; -->
				<!-- cell6[6]=rows[6].cells[2].innerHTML; -->
				<!-- cell7[7]=rows[7].cells[2].innerHTML; -->
				<!-- cell8[8]=rows[8].cells[2].innerHTML; -->
				<!-- cell9[9]=rows[9].cells[2].innerHTML; -->
				<!-- cell10[10]=rows[10].cells[2].innerHTML; -->
				<!-- cell11[11]=rows[11].cells[2].innerHTML; -->
				<!-- cell12[12]=rows[12].cells[2].innerHTML; -->
				<!-- cell13[13]=rows[13].cells[2].innerHTML; -->
				<!-- cell14[14]=rows[14].cells[2].innerHTML; -->
				<!-- cell15[15]=rows[15].cells[2].innerHTML;				 -->
				<!-- cell16[16]=rows[16].cells[2].innerHTML; -->
				<!-- cell17[17]=rows[17].cells[2].innerHTML; -->
				<!-- cell18[18]=rows[18].cells[2].innerHTML;			 -->
				<!-- cell19[19]=rows[19].cells[2].innerHTML; -->
			<!-- var testbc1 = new Array(); -->
				<!-- cell1[1]=rows[1].cells[3].innerHTML; -->
				<!-- cell2[2]=rows[2].cells[3].innerHTML; -->
				<!-- cell3[3]=rows[3].cells[3].innerHTML; -->
				<!-- cell4[4]=rows[4].cells[3].innerHTML; -->
				<!-- cell5[5]=rows[5].cells[3].innerHTML; -->
				<!-- cell6[6]=rows[6].cells[3].innerHTML; -->
				<!-- cell7[7]=rows[7].cells[3].innerHTML; -->
				<!-- cell8[8]=rows[8].cells[3].innerHTML; -->
				<!-- cell9[9]=rows[9].cells[3].innerHTML; -->
				<!-- cell10[10]=rows[10].cells[3].innerHTML; -->
				<!-- cell11[11]=rows[11].cells[3].innerHTML; -->
				<!-- cell12[12]=rows[12].cells[3].innerHTML; -->
				<!-- cell13[13]=rows[13].cells[3].innerHTML; -->
				<!-- cell14[14]=rows[14].cells[3].innerHTML; -->
				<!-- cell15[15]=rows[15].cells[3].innerHTML;				 -->
				<!-- cell16[16]=rows[16].cells[3].innerHTML; -->
				<!-- cell17[17]=rows[17].cells[3].innerHTML; -->
				<!-- cell18[18]=rows[18].cells[3].innerHTML;			 -->
				<!-- cell19[19]=rows[19].cells[3].innerHTML; -->
			<!-- var testca1 = new Array(); -->
				<!-- cell1[1]=rows[1].cells[4].innerHTML; -->
				<!-- cell2[2]=rows[2].cells[4].innerHTML; -->
				<!-- cell3[3]=rows[3].cells[4].innerHTML; -->
				<!-- cell4[4]=rows[4].cells[4].innerHTML; -->
				<!-- cell5[5]=rows[5].cells[4].innerHTML; -->
				<!-- cell6[6]=rows[6].cells[4].innerHTML; -->
				<!-- cell7[7]=rows[7].cells[4].innerHTML; -->
				<!-- cell8[8]=rows[8].cells[4].innerHTML; -->
				<!-- cell9[9]=rows[9].cells[4].innerHTML; -->
				<!-- cell10[10]=rows[10].cells[4].innerHTML; -->
				<!-- cell11[11]=rows[11].cells[4].innerHTML; -->
				<!-- cell12[12]=rows[12].cells[4].innerHTML; -->
				<!-- cell13[13]=rows[13].cells[4].innerHTML; -->
				<!-- cell14[14]=rows[14].cells[4].innerHTML; -->
				<!-- cell15[15]=rows[15].cells[4].innerHTML;				 -->
				<!-- cell16[16]=rows[16].cells[4].innerHTML; -->
				<!-- cell17[17]=rows[17].cells[4].innerHTML; -->
				<!-- cell18[18]=rows[18].cells[4].innerHTML;			 -->
				<!-- cell19[19]=rows[19].cells[4].innerHTML;			 -->
			<!-- var dataerror1 = new Array(); -->
				<!-- cell1[1]=rows[1].cells[5].innerHTML; -->
				<!-- cell2[2]=rows[2].cells[5].innerHTML; -->
				<!-- cell3[3]=rows[3].cells[5].innerHTML; -->
				<!-- cell4[4]=rows[4].cells[5].innerHTML; -->
				<!-- cell5[5]=rows[5].cells[5].innerHTML; -->
				<!-- cell6[6]=rows[6].cells[5].innerHTML; -->
				<!-- cell7[7]=rows[7].cells[5].innerHTML; -->
				<!-- cell8[8]=rows[8].cells[5].innerHTML; -->
				<!-- cell9[9]=rows[9].cells[5].innerHTML; -->
				<!-- cell10[10]=rows[10].cells[5].innerHTML; -->
				<!-- cell11[11]=rows[11].cells[5].innerHTML; -->
				<!-- cell12[12]=rows[12].cells[5].innerHTML; -->
				<!-- cell13[13]=rows[13].cells[5].innerHTML; -->
				<!-- cell14[14]=rows[14].cells[5].innerHTML; -->
				<!-- cell15[15]=rows[15].cells[5].innerHTML;				 -->
				<!-- cell16[16]=rows[16].cells[5].innerHTML; -->
				<!-- cell17[17]=rows[17].cells[5].innerHTML; -->
				<!-- cell18[18]=rows[18].cells[5].innerHTML;			 -->
				<!-- cell19[19]=rows[19].cells[5].innerHTML; -->
				
		 <!-- var subArray=[]; //循环动态获取取不到数据-->
         <!-- var arrtr = $("#itbody").find("tr");  -->
         <!-- for(var i=0;i<arrtr.length;i++){ -->
            <!-- var tapposition1= $(arrtr[i]).find('td').eq(1).find('input').val(); //客户编码 -->
            <!-- var testab1= $(arrtr[i]).find('td').eq(2).find('input').val(); //总额度 -->
            <!-- var testbc1 = $(arrtr[i]).find('td').eq(3).find('input').val(); //一月 -->
            <!-- var testca1 = $(arrtr[i]).find('td').eq(4).find('input').val(); //二月 -->
            <!-- var dataerror1 = $(arrtr[i]).find('td').eq(5).find('input').val(); //三月    -->
            <!-- var mSub={ -->
                <!-- tapposition1:tapposition1, -->
				<!-- testab1:testab1, -->
				<!-- testbc1:testbc1, -->
				<!-- testca1:testca1, -->
				<!-- dataerror1:dataerror1, -->
            <!-- }; -->
            <!-- subArray.push(mSub); -->
         <!-- } -->
         <!-- return subArray;		 -->

		document.write("第"+(i+1)+"行,第"+(j+1)+"个td的值:"+rows[i].cells[j].innerHTML+"<br>"); //写出所addtb所有新增有行列的数值
		}
	}
	for (x in row3){
		alert(row3[x]);
	}
	for (x in row19){
		alert(row19[x]+ "<br>");
	}

AJAX异步提交数据

JS原生的取得属于一对一的笨方法。虽然能够alert();document.write,但是数据传参麻烦,还要对数组进行拆分,经咨询、查阅过后,还是觉得AJAX异步提交数据比较靠谱。以下记录实验过程。



版权声明:本文为weixin_41760494原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。