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异步提交数据比较靠谱。以下记录实验过程。