2222.js
上传用户:tiancihang
上传日期:2014-03-12
资源大小:21387k
文件大小:34k
源码类别:

.net编程

开发平台:

C#

  1. <script language="javascript">
  2. var countOne1=<%=allrecordsfromtable1%>;//从数据库里取出来的所有记录。一页中有几部分同时增加时,此代表第一部分自增记录。
  3. if(countOne1>=1)countOne1--;
  4. var countOne2=<%=allrecordsfromtable2%>;//从数据库里取出来的所有记录。一页中有几部分同时增加时,此代表第二部分自增记录。
  5. if(countOne2>=1)countOne2--;
  6. var countOne3=<%=allrecordsfromtable3%>;//从数据库里取出来的所有记录。一页中有几部分同时增加时,此代表第三部分自增记录。
  7. if(countOne3>=1)countOne3--;
  8. var countOne4=<%=allrecordsfromtable4%>;//从数据库里取出来的所有记录。一页中有几部分同时增加时,此代表第四部分自增记录。
  9. if(countOne4>=1)countOne4--;
  10. var notRemove1=<%=allrecordsfromtable1%>;//从数据库里取出来的所有记录。不可变的常量。一页中有几部分同时增加时,此代表第一部分初始化记录。
  11. var notRemove2=<%=allrecordsfromtable2%>;//从数据库里取出来的所有记录。不可变的常量。一页中有几部分同时增加时,此代表第二部分初始化记录。
  12. var notRemove3=<%=allrecordsfromtable3%>;//从数据库里取出来的所有记录。不可变的常量。一页中有几部分同时增加时,此代表第三部分初始化记录。
  13. var notRemove4=<%=allrecordsfromtable4%>;//从数据库里取出来的所有记录。不可变的常量。一页中有几部分同时增加时,此代表第四部分初始化记录。
  14. var opStateTag1 = 0;/////第一部分删除、增加、插入、恢复等状态变量。
  15. var opStateTag2 = 0;/////第二部分删除、增加、插入、恢复等状态变量。
  16. var opStateTag3 = 0;/////第三部分删除、增加、插入、恢复等状态变量。
  17. var opStateTag4 = 0;/////第四部分删除、增加、插入、恢复等状态变量。
  18. var rowToBeCopiedTrObject1 = null;////////第一部分待复制行对象。
  19. var rowToBeCopiedTrObject2 = null;////////第二部分待复制行对象。
  20. var rowToBeCopiedTrObject3 = null;////////第三部分待复制行对象。
  21. var rowToBeCopiedTrObject4 = null;////////第四部分待复制行对象。
  22. var copyRowIndex = null;//////////拷贝行的行号。
  23. //****************///增加行数代码开始///****************////
  24. function addRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex){
  25. //unifiedTrTag==每个TR节点名称的前半部分。如ROW1、ROW2。那么unifiedTrTag=“ROW”.
  26. //allCols==要增加表单的列数。如某表单有11列,则allCols=11.
  27. //partTag========属于哪一部分。1代表第一部分,依次类推。
  28. //unifiedTdTagRow===TDID的ROW部分。unifiedTdTagCow===TDID的col部分。
  29. //hideInputTagRow=======隐含表单的前半部分(ROW)。
  30.    ////////判断属于那一部分,并赋值。///////
  31.     if(partTag==1)
  32. countOne = countOne1;
  33. else if(partTag==2)
  34. countOne = countOne2;
  35. else if(partTag==3)
  36. countOne = countOne3;
  37. else if(partTag==4)
  38. countOne = countOne4;
  39.  ////////判断属于那一部分,并赋值。///////
  40.     var superObject = document.getElementById(unifiedTrTag+0);
  41. var parentObject = document.getElementById(unifiedTrTag+countOne);
  42. var childObject = parentObject.cloneNode(true);
  43.    ////////判断属于那一部分,并赋值。///////
  44.     if(partTag==1){
  45. countOne1++;
  46. countOne = countOne1;}
  47. else if(partTag==2){
  48. countOne2++;
  49. countOne = countOne2;}
  50. else if(partTag==3){
  51. countOne3++;
  52. countOne = countOne3;}
  53. else if(partTag==4){
  54. countOne4++;
  55. countOne = countOne4;}
  56.    ////////判断属于那一部分,并赋值。///////
  57. childObject.setAttribute("id",unifiedTrTag+(countOne));
  58. //document.getElementById("lastRow").setAttribute("value",countOne)
  59. superObject.appendChild(childObject);
  60. var objectTd = childObject.firstChild;
  61. //objectTd.setAttribute("id",unifiedTdTagRow+countOne+unifiedTdTagCol+1);
  62. var objectDiv = objectTd.firstChild;
  63. for(var colsInit=1;colsInit<= allCols;colsInit++){//333333
  64. var objectInput = objectDiv.firstChild;
  65. objectTd.setAttribute("id",unifiedTdTagRow+countOne+unifiedTdTagCol+colsInit);///修改TD的属性。
  66. //alert(objectTd.getAttribute("id"));
  67. ///修改隐含INPUT元素性质。
  68. objectInput.setAttribute("name",hideInputTagRow+countOne+unifiedTdTagCol+colsInit);
  69. objectInput.setAttribute("id",hideInputTagRow+countOne+unifiedTdTagCol+colsInit);
  70. objectInput.setAttribute("value","");
  71. ///修改可见INPUT元素性质。
  72. objectInput = objectDiv.nextSibling.firstChild;
  73. objectInput.setAttribute("name",showInputTagRow+countOne+unifiedTdTagCol+colsInit);
  74. objectInput.setAttribute("id",showInputTagRow+countOne+unifiedTdTagCol+colsInit);
  75. objectInput.setAttribute("value","");
  76. /*耿云云加:Start*/
  77. if(objectTd.getElementsByTagName("div").length == 3){
  78. objectTd.removeChild(objectDiv.nextSibling.nextSibling);
  79. }
  80. /*耿云云加:End*/
  81. if(colsInit<allCols){//4444444
  82. objectTd = objectTd.nextSibling;//alert("ytrytr");
  83. //objectTd.setAttribute("id",unifiedTdTagRow+countOne+unifiedTdTagCol+(colsInit+1));
  84. objectDiv = objectTd.firstChild;
  85. }//4444444444
  86. }//3333333
  87.    ////////判断属于那一部分,并赋值。改变添加,删除、复制等状态///////
  88.     opStateTag1 = 0;
  89.     opStateTag2 = 0;
  90.     opStateTag3 = 0;
  91.     opStateTag4 = 0;
  92. autoSerialNumberAdd(partIndex);
  93.  ////////判断属于那一部分,并赋值。///////
  94. }
  95. ///****************//增加行数代码结束//****************///
  96. ///****************//删除行代码开始//****************/////
  97. function removeRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex){
  98. //////////t==当前节点的指针也就是(this)
  99. if(t.id==unifiedTrTag+0)
  100. return;
  101. var partStr = parseInt(extractString(t.id,null,null,null));////得到当前TR行号。
  102. var currentTrObject =  document.getElementById(t.id);/////得到当前节点对象。
  103. var parentTrObject = document.getElementById(unifiedTrTag+0);////////得到父节点对象。
  104. parentTrObject.removeChild(currentTrObject);///////删除操作
  105.    ////////判断属于那一部分,并赋值。///////
  106.     if(partTag==1){
  107.     countOne1--;
  108. countOne = countOne1;}
  109. else if(partTag==2){
  110.     countOne2--;
  111. countOne = countOne2;}
  112. else if(partTag==3){
  113.     countOne3--;
  114. countOne = countOne3;}
  115. else if(partTag==4){
  116.     countOne4--;
  117. countOne = countOne4;}
  118.  ////////判断属于那一部分,并赋值。///////
  119. //alert("partStr"+partStr+"countOne"+countOne);
  120. ////////处理以后节点代码开始////////
  121. if(partStr!=countOne+1){////////如果不是最后一行。
  122. for(var total = partStr+1;total <= countOne+1;total++){////循环改变各列属性。
  123. var trObject = document.getElementById(unifiedTrTag+total); /////得到TR对象。
  124. trObject.setAttribute("id",unifiedTrTag+(total-1));
  125. var tdObject = trObject.firstChild;//////////得到TD对象。
  126. //tdObject.setAttribute("id",unifiedTdTagRow+(total-1)+unifiedTdTagCol+1);
  127. var divObject = tdObject.firstChild;////////////得到DIV对象。
  128.  ///////////////循环改变子节点的内容,后移加1处理///////////////////////
  129. for(var colsInit=1;colsInit<=allCols;colsInit++){//33333
  130. var inputObject = divObject.firstChild;////////////得到INPUT对象。
  131. tdObject.setAttribute("id",unifiedTdTagRow+(total-1)+unifiedTdTagCol+colsInit);///修改TD的属性。
  132. ///修改隐含INPUT元素性质。
  133. inputObject.setAttribute("name",hideInputTagRow+(total-1)+unifiedTdTagCol+colsInit);
  134. inputObject.setAttribute("id",hideInputTagRow+(total-1)+unifiedTdTagCol+colsInit);
  135. //inputObject.setAttribute("value","");
  136. ///修改可见INPUT元素性质。
  137. inputObject = divObject.nextSibling.firstChild;
  138. inputObject.setAttribute("name",showInputTagRow+(total-1)+unifiedTdTagCol+colsInit);
  139. inputObject.setAttribute("id",showInputTagRow+(total-1)+unifiedTdTagCol+colsInit);
  140. //inputObject.setAttribute("value","");
  141. if(colsInit<allCols){//444444
  142. tdObject = tdObject.nextSibling;
  143. //tdObject.setAttribute("id",unifiedTdTagRow+(total-1)+unifiedTdTagCol+(colsInit+1));
  144. divObject = tdObject.firstChild;
  145. }//4444444
  146. }//333
  147. }
  148. ///////////////////////处理以后节点代码结束/////////////
  149. changeBgcolor(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,null,allCols,0,(partStr));
  150. }
  151.    ////////判断属于那一部分,并赋值。改变添加,删除、复制等状态///////
  152.     opStateTag1 = 0;
  153.     opStateTag2 = 0;
  154.     opStateTag3 = 0;
  155.     opStateTag4 = 0;
  156. autoSerialNumberAdd(partIndex);
  157.  ////////判断属于那一部分,并赋值。///////
  158. }
  159. ///****************/删除行代码结束//****************///
  160. //****************/选择要插入的行,点击后插入一行代码开始/****************////
  161. function insertRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex){
  162. if(t.id==unifiedTrTag+0)
  163. return;
  164. var parentTrObject = document.getElementById(unifiedTrTag+0);
  165. var partStr = parseInt(extractString(t.id,null,null,null));////得到当前TR行号。
  166. //alert("partStr"+partStr);
  167.    ////////判断属于那一部分,并赋值。///////
  168.     if(partTag==1)
  169. countOne = countOne1;
  170. else if(partTag==2)
  171. countOne = countOne2;
  172. else if(partTag==3)
  173. countOne = countOne3;
  174. else if(partTag==4)
  175. countOne = countOne4;
  176.  ////////判断属于那一部分,并赋值。///////
  177. var lastTrId = unifiedTrTag+countOne;///得到最后TR节点ID。
  178. //var parentTrId = unifiedTrTag+(parseInt(partStr)-1);
  179. var currentTrObject =  document.getElementById(t.id);////取得当前节点对象。
  180. var lastTrObject =  document.getElementById(lastTrId);////取得最后节点对象。
  181. var childObject = lastTrObject.cloneNode(true);///////取得子节点对象。
  182.    ////////判断属于那一部分,并赋值。///////
  183.     if(partTag==1){
  184. countOne1++;
  185. countOne = countOne1;}
  186. else if(partTag==2){
  187. countOne2++;
  188. countOne = countOne2;}
  189. else if(partTag==3){
  190. countOne3++;
  191. countOne = countOne3;}
  192. else if(partTag==4){
  193. countOne4++;
  194. countOne = countOne4;}
  195.    ////////判断属于那一部分,并赋值。///////
  196. childObject.setAttribute("id","changed");//改变被插入行的性质。
  197. parentTrObject.insertBefore(childObject,currentTrObject);
  198. ///////////////////对插入记录处理代码开始糊涂处理方式//////////////////////
  199. var objectTd = childObject.firstChild;////得到TD对象。
  200. var objectDiv = objectTd.firstChild;////////////得到DIV对象。
  201. for(var colsInit=1;colsInit<=allCols;colsInit++){//33333
  202. var objectInput = objectDiv.firstChild;////////////得到INPUT对象。
  203. objectTd.setAttribute("id","tdchange"+colsInit);///修改TD的属性。
  204. ///修改隐含INPUT元素性质。
  205. objectInput.setAttribute("name","hidechange"+colsInit);
  206. objectInput.setAttribute("id","hidechange"+colsInit);
  207. objectInput.setAttribute("value","");
  208. ///修改可见INPUT元素性质。
  209. objectInput = objectDiv.nextSibling.firstChild;
  210. objectInput.setAttribute("name","change"+colsInit);
  211. objectInput.setAttribute("id","change"+colsInit);
  212. objectInput.setAttribute("value","");
  213. /*耿云云加:Start*/
  214. if(objectTd.getElementsByTagName("div").length == 3){
  215. objectTd.removeChild(objectDiv.nextSibling.nextSibling);
  216. }
  217. /*耿云云加:End*/
  218. if(colsInit<allCols){//4444444
  219. objectTd = objectTd.nextSibling;
  220. objectDiv = objectTd.firstChild;
  221. }//44444444
  222. }//333333
  223. ///////////////////对插入记录处理代码结束//////////////////////
  224. ////////处理子节点代码开始////////
  225. for(var total = countOne-1;total >= partStr;total--){
  226. var trObject = document.getElementById(unifiedTrTag+total); /////得到TR对象。
  227. trObject.setAttribute("id",unifiedTrTag+(total+1));
  228. var tdObject = trObject.firstChild;//////////得到TD对象。
  229. //tdObject.setAttribute("id",unifiedTdTagRow+(total+1)+unifiedTdTagCol+1);
  230. var divObject = tdObject.firstChild;////////////得到DIV对象。
  231.  ///////////////循环改变子节点的内容,后移加1处理///////////////////////
  232. for(var colsInit=1;colsInit<=allCols;colsInit++){//33333
  233. var inputObject = divObject.firstChild;////////////得到INPUT对象。
  234. tdObject.setAttribute("id",unifiedTdTagRow+(total+1)+unifiedTdTagCol+colsInit);///修改TD的属性。
  235. ///修改隐含INPUT元素性质。
  236. inputObject.setAttribute("name",hideInputTagRow+(total+1)+unifiedTdTagCol+colsInit);
  237. inputObject.setAttribute("id",hideInputTagRow+(total+1)+unifiedTdTagCol+colsInit);
  238. //inputObject.setAttribute("value","");
  239. ///修改可见INPUT元素性质。
  240. inputObject = divObject.nextSibling.firstChild;
  241. inputObject.setAttribute("name",showInputTagRow+(total+1)+unifiedTdTagCol+colsInit);
  242. inputObject.setAttribute("id",showInputTagRow+(total+1)+unifiedTdTagCol+colsInit);
  243. //inputObject.setAttribute("value",inputObject.getAttribute("id"));
  244. if(colsInit<allCols){//444444
  245. tdObject = tdObject.nextSibling;
  246. //tdObject.setAttribute("id",unifiedTdTagRow+(total+1)+unifiedTdTagCol+(colsInit+1));
  247. divObject = tdObject.firstChild;
  248. }//4444444
  249. }//333
  250. }
  251. ///////////////////////处理子节点代码结束/////////////
  252. ///////////////////对插入记录处理代码开始//////////////////////
  253. var objectTd = childObject.firstChild;////得到TD对象。
  254. var objectDiv = objectTd.firstChild;////////////得到DIV对象。
  255. for(var colsInit=1;colsInit<=allCols;colsInit++){//33333
  256. var objectInput = objectDiv.firstChild;////////////得到INPUT对象。
  257. objectTd.setAttribute("id",unifiedTdTagRow+partStr+unifiedTdTagCol+colsInit);///修改TD的属性。
  258. ///修改隐含INPUT元素性质。
  259. objectInput.setAttribute("name",hideInputTagRow+partStr+unifiedTdTagCol+colsInit);
  260. objectInput.setAttribute("id",hideInputTagRow+partStr+unifiedTdTagCol+colsInit);
  261. objectInput.setAttribute("value","");
  262. ///修改可见INPUT元素性质。
  263. objectInput = objectDiv.nextSibling.firstChild;
  264. objectInput.setAttribute("name",showInputTagRow+partStr+unifiedTdTagCol+colsInit);
  265. objectInput.setAttribute("id",showInputTagRow+partStr+unifiedTdTagCol+colsInit);
  266. objectInput.setAttribute("value","");
  267. if(colsInit<allCols){//4444444
  268. objectTd = objectTd.nextSibling;
  269. //objectTd.setAttribute("id",unifiedTdTagRow+partStr+unifiedTdTagCol+(colsInit+1));
  270. objectDiv = objectTd.firstChild;
  271. }//44444444
  272. }//333333
  273. ///////////////////对插入记录处理代码结束//////////////////////
  274. childObject.setAttribute("id",showInputTagRow+partStr);//在此重新命名新增加的ID。
  275. //if(partStr==1){//////////如果PARTSTR==1)同时改变两行的颜色。
  276. changeBgcolor(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,null,allCols,0,(partStr));
  277. changeBgcolor(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,null,allCols,0,(partStr+1));
  278. //}
  279. //else
  280. //changeBgcolor(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,null,allCols,0,(partStr+1));
  281.    ////////判断属于那一部分,并赋值。改变添加,删除、复制等状态///////
  282.     opStateTag1 = 0;
  283.     opStateTag2 = 0;
  284.     opStateTag3 = 0;
  285.     opStateTag4 = 0;
  286. autoSerialNumberAdd(partIndex);
  287.  ////////判断属于那一部分,并赋值。///////
  288. }
  289. //****************选择要插入的行,点击后插入一行代码结束***********///
  290. //****************选择要复制的行代码开始***********///
  291. function copyRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex){
  292. var rowToBeCopiedTrObject = document.getElementById(t.id).cloneNode(true);////取得待复制节点对象。
  293. rowToBeCopiedTrObject.setAttribute("id",partTag+"newTr");///修改TR的属性。
  294. ///////////////////对插入记录处理代码开始//////////////////////
  295. var objectTd = rowToBeCopiedTrObject.firstChild;////得到TD对象。
  296. var objectDiv = objectTd.firstChild;////////////得到DIV对象。
  297. for(var colsInit=1;colsInit<=allCols;colsInit++){//33333
  298. var objectInput = objectDiv.firstChild;////////////得到INPUT对象。
  299. objectTd.setAttribute("id",partTag+"newTd");///修改TD的属性。
  300. ///修改隐含INPUT元素性质。
  301. objectInput.setAttribute("name",partTag+"newHideInputName");
  302. objectInput.setAttribute("id",partTag+"newHideInputId");
  303. //objectInput.setAttribute("value","");
  304. ///修改可见INPUT元素性质。
  305. objectInput = objectDiv.nextSibling.firstChild;
  306. objectInput.setAttribute("name",partTag+"newShowInputName");
  307. objectInput.setAttribute("id",partTag+"newShowInputId");
  308. //objectInput.setAttribute("value","");
  309. if(colsInit<allCols){//4444444
  310. objectTd = objectTd.nextSibling;
  311. //objectTd.setAttribute("id",unifiedTdTagRow+partStr+unifiedTdTagCol+(colsInit+1));
  312. objectDiv = objectTd.firstChild;
  313. }//44444444
  314. }//333333
  315. if(partTag==1)
  316. rowToBeCopiedTrObject1 = rowToBeCopiedTrObject;
  317. else if(partTag==2)
  318. rowToBeCopiedTrObject2 = rowToBeCopiedTrObject;
  319. else if(partTag==3)
  320. rowToBeCopiedTrObject3 = rowToBeCopiedTrObject;
  321. else if(partTag==4)
  322. rowToBeCopiedTrObject4 = rowToBeCopiedTrObject;
  323. ///////////////////对插入记录处理代码结束//////////////////////
  324. var partStr = parseInt(extractString(t.id,null,null,null));////得到当前TR行号。
  325. copyRowIndex = partStr;
  326.    ////////判断属于那一部分,并赋值。改变添加,删除、复制等状态///////
  327.     opStateTag1 = 0;
  328.     opStateTag2 = 0;
  329.     opStateTag3 = 0;
  330.     opStateTag4 = 0;
  331. autoSerialNumberAdd(partIndex);
  332.  ////////判断属于那一部分,并赋值。///////
  333. }
  334. //****************选择要复制的行代码开始***********///
  335. //****************选择要复制的行代码结束***********///
  336. function replaceRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex){
  337. var parentTrObject = document.getElementById(unifiedTrTag+0);
  338. var currentTrObject = document.getElementById(t.id);////取得当前节点对象。
  339. if(partTag==1)
  340. var rowToBeCopiedTrObject = rowToBeCopiedTrObject1;
  341. else if(partTag==2)
  342. var rowToBeCopiedTrObject = rowToBeCopiedTrObject2;
  343. else if(partTag==3)
  344. var rowToBeCopiedTrObject = rowToBeCopiedTrObject3;
  345. else if(partTag==4)
  346. var rowToBeCopiedTrObject = rowToBeCopiedTrObject4;
  347. var newTrObject = rowToBeCopiedTrObject.cloneNode(true);////将待拷贝节点赋给新节点。
  348. parentTrObject.replaceChild(newTrObject,currentTrObject);
  349. var partStr = parseInt(extractString(t.id,null,null,null));////得到当前TR行号。
  350. newTrObject.setAttribute("id",showInputTagRow+partStr);///修改TR的属性。
  351. ///////////////////对插入记录处理代码开始//////////////////////
  352. var objectTd = newTrObject.firstChild;////得到TD对象。
  353. var objectDiv = objectTd.firstChild;////////////得到DIV对象。
  354. for(var colsInit=1;colsInit<=allCols;colsInit++){//33333
  355. var objectInput = objectDiv.firstChild;////////////得到INPUT对象。
  356. objectTd.setAttribute("id",unifiedTdTagRow+partStr+unifiedTdTagCol+colsInit);///修改TD的属性。
  357. ///修改隐含INPUT元素性质。
  358. objectInput.setAttribute("name",hideInputTagRow+partStr+unifiedTdTagCol+colsInit);
  359. objectInput.setAttribute("id",hideInputTagRow+partStr+unifiedTdTagCol+colsInit);
  360. //objectInput.setAttribute("value","");
  361. ///修改可见INPUT元素性质。
  362. objectInput = objectDiv.nextSibling.firstChild;
  363. objectInput.setAttribute("name",showInputTagRow+partStr+unifiedTdTagCol+colsInit);
  364. objectInput.setAttribute("id",showInputTagRow+partStr+unifiedTdTagCol+colsInit);
  365. //objectInput.setAttribute("value","");
  366. if(colsInit<allCols){//4444444
  367. objectTd = objectTd.nextSibling;
  368. //objectTd.setAttribute("id",unifiedTdTagRow+partStr+unifiedTdTagCol+(colsInit+1));
  369. objectDiv = objectTd.firstChild;
  370. }//44444444
  371. }//333333
  372. ///////////////////对插入记录处理代码结束//////////////////////
  373. changeBgcolor(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,null,allCols,0,(partStr));
  374. //changeBgcolor(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,null,allCols,0,(copyRowIndex));
  375.    ////////判断属于那一部分,并赋值。改变添加,删除、复制等状态///////
  376.     opStateTag1 = 0;
  377.     opStateTag2 = 0;
  378.     opStateTag3 = 0;
  379.     opStateTag4 = 0;
  380. autoSerialNumberAdd(partIndex);
  381.  ////////判断属于那一部分,并赋值。///////
  382. }
  383. //****************选择要替换的行,并替换之,代码结束***********///
  384. //****************恢复行代码开始***********///
  385. function revertRow(){
  386. }
  387. //****************恢复行代码结束***********///
  388. /////****************//判断是删除还是插入代码开始//****************///
  389. function operationChoose(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex){
  390. if(opStateTag1==1||opStateTag2==1||opStateTag3==1||opStateTag4==1)
  391. insertRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex);
  392. else if(opStateTag1==2||opStateTag2==2||opStateTag3==2||opStateTag4==2)
  393. removeRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex);
  394. else if(opStateTag1==3||opStateTag2==3||opStateTag3==3||opStateTag4==3)
  395. addRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex);
  396. else if(opStateTag1==4||opStateTag2==4||opStateTag3==4||opStateTag4==4)
  397. copyRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex);
  398. else if(opStateTag1==5||opStateTag2==5||opStateTag3==5||opStateTag4==5)
  399. replaceRow(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,partIndex);
  400. }
  401. ////****************//判断是删除还是插入代码结束/****************////
  402. ////****************/插入行数,改变可插入状态变量代码开始****************///
  403. function changeInsertTag(){
  404. //alert("请单击要插入的行!");
  405. opStateTag1 = 1;
  406. opStateTag2 = 1;
  407. opStateTag3 = 1;
  408. opStateTag4 = 1;
  409. }
  410. //****************////插入行数,改变可插入状态变量代码结束/****************////
  411. /////****************/删除行数,改变可删除状态变量代码开始/****************///////
  412. function changeRemoveTag(){
  413. //alert("请单击要删除的行!");
  414. opStateTag1 = 2;
  415. opStateTag2 = 2;
  416. opStateTag3 = 2;
  417. opStateTag4 = 2;
  418. }
  419. /////****************//删除行数,改变可删除状态变量代码结束///****************////
  420. ////****************/增加行数,改变可增加状态变量代码开始****************///
  421. function changeAddTag(){
  422. opStateTag1 = 3;
  423. opStateTag2 = 3;
  424. opStateTag3 = 3;
  425. opStateTag4 = 3;
  426. }
  427. //****************////增加行数,改变可增加状态变量代码结束/****************////
  428. /////****************/复制行数,改变可复制状态变量代码开始/****************///////
  429. function changeCopyTag(){
  430. //alert("请单击要删除的行!");
  431. opStateTag1 = 4;
  432. opStateTag2 = 4;
  433. opStateTag3 = 4;
  434. opStateTag4 = 4;
  435. }
  436. /////****************//复制行数,改变可复制状态变量代码结束///****************////
  437. /////****************/替换行数,改变可替换状态变量代码开始/****************///////
  438. function changeReplaceTag(){
  439. //alert("请单击要删除的行!");
  440. opStateTag1 = 5;
  441. opStateTag2 = 5;
  442. opStateTag3 = 5;
  443. opStateTag4 = 5;
  444. }
  445. /////****************//替换行数,改变可替换状态变量代码结束///****************////
  446. /////****************/恢复行数,改变可删除状态变量代码开始/****************///////
  447. function changeRevertTag(){
  448. //alert("请单击要删除的行!");
  449. opStateTag1 = 6;
  450. opStateTag2 = 6;
  451. opStateTag3 = 6;
  452. opStateTag4 = 6;
  453. }
  454. /////****************//删除行数,改变可删除状态变量代码结束///****************////
  455. /*//****************改变行的背景颜色还原背景颜色代码开始****************///
  456. function changeBgcolor(unifiedTrTag,unifiedTdTagRow,unifiedTdTagCol,showInputTagRow,hideInputTagRow,partTag,t,allCols,overOrOut,partStr,partIndex){
  457. ///////overOrOut==改变颜色状态变量。
  458. if(t!=null)
  459. var partStr = extractString(t.id,'c',null,null);
  460. else 
  461. var partStr = unifiedTdTagRow+partStr;
  462. //alert(t.id);
  463. //if(t!=null&&t.id==(partStr+unifiedTdTagCol+0))
  464. //return;
  465. if(opStateTag1==0||opStateTag2==0||opStateTag3==0||opStateTag4==0)
  466. overOrOut = 0;
  467. if((opStateTag1!=3||opStateTag2!=3||opStateTag3!=3||opStateTag4!=3)){
  468. for(var i = 1; i <= allCols;i++){
  469. var tdId = partStr+unifiedTdTagCol+i;
  470. //alert(tdId);
  471. if(overOrOut==1)//overOrOut==1,改变颜色。否则还原颜色。
  472. document.getElementById(tdId).style.backgroundColor="#CCCCCC";
  473. else
  474. document.getElementById(tdId).style.backgroundColor="#ffffF5";
  475. }
  476. }
  477. autoSerialNumberAdd(partIndex);
  478. }
  479. /****************改变行的背景颜色还原背景颜色代码结束/****************///
  480. //****************//截取一个字符串中的某段字段代码开始/****************////
  481. function extractString(str,letter,startL,endL){
  482. var len = str.length;
  483. if(letter==null&&startL==null&&endL==null){
  484. var extractStr = str.substring(4,len);
  485. return extractStr;
  486. }
  487. else if(letter!=null&&startL==null&&endL==null){
  488. var letterPoint = str.indexOf(letter);
  489. var extractStr = str.substring(0,letterPoint);
  490. return extractStr;
  491. }
  492. else if(letter==null&&startL!=null&&endL!=null){
  493. var sPoint = str.indexOf(startL);
  494. var ePoint = str.indexOf(endL);
  495. var extractStr = str.substring(sPoint,ePoint);
  496. return extractStr;
  497. }}
  498. //****************////截取一个字符串中的某段字段代码结束//****************////
  499. /////****************/终止操作代码开始/****************///////
  500. function cancelOperation(){
  501. opStateTag1 = 0;
  502. opStateTag2 = 0;
  503. opStateTag3 = 0;
  504. opStateTag4 = 0;
  505. }
  506. /////****************//终止操作代码结束///****************////
  507. /////****************/添加属性代码开始/****************///////
  508. function addAttribute(){
  509. var modelTrObject = document.getElementById("totalRecords1");
  510. modelTrObject.setAttribute("onClick","alert1()");
  511. }
  512. /////****************//添加属性代码结束///****************////
  513. /////****************//保存表单代码开始///****************////
  514. function saveTable(partTag,showInputTagRow,allCols){
  515. var i = 0;
  516. var j = 0;
  517. while((i < document.forms[0].length) && (j == 0)){
  518. if(document.forms[0].elements[i].type == "text" && document.forms[0].elements[i].value.length == 0 && document.forms[0].elements[i].id != "notSave" && document.forms[0].elements[i].id.substring(1,4) != "row" && document.forms[0].elements[i].title != "禁填"){
  519. j = 1;
  520. }
  521. else if(document.forms[0].elements[i].type == "checkbox" && document.forms[0].elements[i].checked != true && document.forms[0].elements[i].id != "notSave"){
  522. j = 1;
  523. }
  524. else if(document.forms[0].elements[i].type == "textarea" && document.forms[0].elements[i].value.length == 0 && document.forms[0].elements[i].id != "notSave"){
  525. j = 1;
  526. }
  527. ++i;
  528. }
  529. if (j!=0){
  530. alert("请填写表单相应栏目!");
  531. return false;
  532. }
  533. var countTo = new Array(0,0,0,0);/////保存四部分的未填文本域数。
  534. var countOne = new Array(0,0,0,0);//////保存四部分的总行数。
  535. var partRow = new Array(0,0,0,0);///////保存四部分标志。
  536. if(partTag[0]==1){
  537. partRow[0] = showInputTagRow[0];
  538. countOne[0] = countOne1;
  539. document.getElementById("totalRecords1").setAttribute("value",countOne1+1)
  540. }
  541. else
  542. document.getElementById("totalRecords1").setAttribute("value",0)
  543. //////???????
  544. if(partTag[1]==1){
  545. partRow[1] = showInputTagRow[1];
  546. countOne[1] = countOne2;
  547. document.getElementById("totalRecords2").setAttribute("value",countOne2+1)
  548. }
  549. else
  550. document.getElementById("totalRecords2").setAttribute("value",0)
  551. /////////???????
  552. if(partTag[2]==1){
  553. partRow[2] = showInputTagRow[2];
  554. countOne[2] = countOne3;
  555. document.getElementById("totalRecords3").setAttribute("value",countOne3+1)
  556. }
  557. else
  558. document.getElementById("totalRecords3").setAttribute("value",0)
  559. /////////???????
  560. if(partTag[3]==1){
  561. partRow[3] = showInputTagRow[3];
  562. countOne[3] = countOne4;
  563. document.getElementById("totalRecords4").setAttribute("value",countOne4+1)
  564. }
  565. else
  566. document.getElementById("totalRecords4").setAttribute("value",0)
  567. /////////????????????????????????????????????
  568. var allPartsToBeChecked = 0;/////////页面中要处理的自增部分个数。
  569. for(i=0;i<=3;i++)
  570. if(partTag[i]==1)
  571. allPartsToBeChecked++;
  572. ////////
  573. for(i=0;i<4;i++){
  574. if(partTag[i]!=0){
  575. for(k = 0;k <= countOne[i];k++)
  576. for(j = 1;j <= allCols[i];j++){
  577. var inputId = partRow[i]+k+"col"+j;/////////INPUT文本的ID。
  578. //alert(inputId);
  579. if(document.getElementById(inputId).getAttribute("value")==""){
  580. countTo[i]++;
  581. document.getElementById(inputId).style.backgroundColor="#CCCCCC";
  582. }}}}
  583. ///////////
  584. var showAlertVariable = 0;//////该不该显示提示语变量。
  585. for(i=0;i<4;i++){
  586. if(partTag[i]!=0){
  587. if(countTo[i]!=0)
  588. showAlertVariable++;
  589. }}
  590. ///////////
  591. document.forms[0].submit();
  592. }
  593. /////****************//保存表单代码结束///****************////
  594. /////****************//XML定义修改的保存表单代码开始:BOB,2005-07-15///****************////
  595. function saveTableXML(partTag,showInputTagRow,allCols){
  596. var i = 0;
  597. var j = 0;
  598. var objFrom = document.forms[0];
  599. while((i < objFrom.length) && (j == 0)){
  600. var tempElement = objFrom.elements[i];
  601. //alert(tempElement.name+";"+tempElement.value)
  602. //var temp = (tempElement.style.display != "none") && (tempElement.readOnly != true)?true:false;
  603. var temp = (tempElement.style.display != "none") && (tempElement.disabled != true)?true:false;
  604. //alert("name="+tempElement.name+";temp="+temp+";readonly="+tempElement.readOnly);
  605. if(temp){
  606. if(tempElement.type == "text" && tempElement.value.length == 0 && tempElement.saveType == undefined && tempElement.title != "禁填"){
  607. j = (tempElement.readOnly != true && tempElement.checked != true)?1:j;
  608. //j = 1;
  609. //alert("text,name = "+tempElement.name+";tempElement.checked="+tempElement.checked);
  610. }
  611. else if(tempElement.type == "checkbox" && tempElement.checked != true && tempElement.saveType == undefined && tempElement.disabled != true){
  612. j = 1;
  613. //alert("checkbox,name = "+tempElement.name+";J"+j);
  614. }
  615. else if(tempElement.type == "textarea" && tempElement.value.length == 0 && tempElement.saveType == undefined){
  616. j = tempElement.readOnly == true?j:1;
  617. //j = 1;
  618. //alert("textarea,name = "+tempElement.name+";J="+j);
  619. }
  620. }
  621. ++i;
  622. }
  623. if (j!=0){
  624. alert("请填写表单相应栏目!");
  625. return false;
  626. }
  627. var countTo = new Array(0,0,0,0);/////保存四部分的未填文本域数。
  628. var countOne = new Array(0,0,0,0);//////保存四部分的总行数。
  629. var partRow = new Array(0,0,0,0);///////保存四部分标志。
  630. if(partTag[0]==1){
  631. partRow[0] = showInputTagRow[0];
  632. countOne[0] = countOne1;
  633. document.getElementById("totalRecords1").setAttribute("value",countOne1+1)
  634. }
  635. else
  636. document.getElementById("totalRecords1").setAttribute("value",0)
  637. //////???????
  638. if(partTag[1]==1){
  639. partRow[1] = showInputTagRow[1];
  640. countOne[1] = countOne2;
  641. document.getElementById("totalRecords2").setAttribute("value",countOne2+1)
  642. }
  643. else
  644. document.getElementById("totalRecords2").setAttribute("value",0)
  645. /////////???????
  646. if(partTag[2]==1){
  647. partRow[2] = showInputTagRow[2];
  648. countOne[2] = countOne3;
  649. document.getElementById("totalRecords3").setAttribute("value",countOne3+1)
  650. }
  651. else
  652. document.getElementById("totalRecords3").setAttribute("value",0)
  653. /////////???????
  654. if(partTag[3]==1){
  655. partRow[3] = showInputTagRow[3];
  656. countOne[3] = countOne4;
  657. document.getElementById("totalRecords4").setAttribute("value",countOne4+1)
  658. }
  659. else
  660. document.getElementById("totalRecords4").setAttribute("value",0)
  661. /////////????????????????????????????????????
  662. var allPartsToBeChecked = 0;/////////页面中要处理的自增部分个数。
  663. for(i=0;i<=3;i++)
  664. if(partTag[i]==1)
  665. allPartsToBeChecked++;
  666. ////////
  667. for(i=0;i<4;i++){
  668. if(partTag[i]!=0){
  669. for(k = 0;k <= countOne[i];k++)
  670. for(j = 1;j <= allCols[i];j++){
  671. var inputId = partRow[i]+k+"col"+j;/////////INPUT文本的ID。
  672. //alert(inputId);
  673. if(document.getElementById(inputId).getAttribute("value")==""){
  674. countTo[i]++;
  675. document.getElementById(inputId).style.backgroundColor="#CCCCCC";
  676. }
  677. }
  678. }
  679. }
  680. ///////////
  681. var showAlertVariable = 0;//////该不该显示提示语变量。
  682. for(i=0;i<4;i++){
  683. if(partTag[i]!=0){
  684. if(countTo[i]!=0)
  685. showAlertVariable++;
  686. }}
  687. ///////////
  688. document.forms[0].submit();
  689. }
  690. /////****************//XML定义修改的保存表单代码结束///****************////
  691. /////****************//检测代码开始///****************////
  692. function completeOrNot(t,detectionTag){
  693. if(t.value!="")
  694. t.style.backgroundColor="#C1DFFD";
  695. else
  696. t.style.backgroundColor="#CCCCCC";
  697. if(detectionTag==0)
  698. checkNum(t);
  699. }
  700. /////****************//检测代码结束///****************////
  701. function checkNum(t){
  702. if(isNaN(t.value)){
  703. alert("应该输入数值型数据!");
  704. t.value="";
  705. return;
  706. }}
  707. /////****************//对TR排序代码开始///****************////
  708. function sortOriginalTr(){
  709. //******************处理第一部分重新排序
  710. if(countOne1>0){
  711. var parentTrObject = document.getElementById("1row0");
  712. for(i=1;i<=countOne1;i++){
  713. var childTrObject = document.getElementById("1row"+i);
  714. parentTrObject.appendChild(childTrObject);
  715. }}
  716. //*******************处理第二部分重新排序
  717. if(countOne2>0){
  718. var parentTrObject = document.getElementById("2row0");
  719. for(i=1;i<=countOne2;i++){
  720. var childTrObject = document.getElementById("2row"+i);
  721. parentTrObject.appendChild(childTrObject);
  722. }}
  723. //*******************处理第三部分重新排序
  724. if(countOne3>0){
  725. var parentTrObject = document.getElementById("3row0");
  726. for(i=1;i<=countOne3;i++){
  727. var childTrObject = document.getElementById("3row"+i);
  728. parentTrObject.appendChild(childTrObject);
  729. }}
  730. //*******************处理第四部分重新排序
  731. if(countOne4>0){
  732. var parentTrObject = document.getElementById("4row0");
  733. for(i=1;i<=countOne4;i++){
  734. var childTrObject = document.getElementById("4row"+i);
  735. parentTrObject.appendChild(childTrObject);
  736. }}
  737. }
  738. /////****************//对TR排序代码结束///****************////
  739. /////****************//字增序号自动生成代码开始///****************////
  740. function autoSerialNumberAdd(partIndex){
  741. if(partIndex===undefined)
  742. return;
  743. var allRows = 0;
  744. if(partIndex[0]==1)
  745. allRows = countOne1;
  746. else if(partIndex[0]==2)
  747. allRows = countOne2;
  748. else if(partIndex[0]==3)
  749. allRows = countOne3;
  750. else if(partIndex[0]==4)
  751. allRows = countOne4;
  752. else return;
  753. for(i=0;i<=allRows;i++){
  754. var pointedElement = partIndex[0]+"row"+i+"col"+partIndex[1];
  755. document.getElementById(pointedElement).setAttribute("value",1+i);
  756. }
  757. }
  758. /////****************//字增序号自动生成代码开始///****************////
  759. ///////////////////控制层代码开始<!-- // RightClickMenu
  760. function showmenuie5(){
  761. var rightedge=document.body.clientWidth-event.clientX
  762. var bottomedge=document.body.clientHeight-event.clientY
  763. if (rightedge<ie5menu.offsetWidth)
  764. ie5menu.style.left=document.body.scrollLeft+event.clientX-ie5menu.offsetWidth
  765. else
  766. ie5menu.style.left=document.body.scrollLeft+event.clientX
  767. if (bottomedge<ie5menu.offsetHeight)
  768. ie5menu.style.top=document.body.scrollTop+event.clientY-ie5menu.offsetHeight
  769. else
  770. ie5menu.style.top=document.body.scrollTop+event.clientY
  771. ie5menu.style.visibility="visible"
  772. return false
  773. }
  774. function hidemenuie5(){
  775. ie5menu.style.visibility="hidden"
  776. }
  777. function highlightie5(){
  778. if (event.srcElement.className=="menuitems"){
  779. event.srcElement.style.backgroundColor="#9955CC"
  780. event.srcElement.style.color="#FF9933"
  781. }
  782. }
  783. function lowlightie5(){
  784. if (event.srcElement.className=="menuitems"){
  785. event.srcElement.style.backgroundColor="#CCCCCC"
  786. event.srcElement.style.color="#990000"
  787. }
  788. }
  789. /*function jumptoie5(){
  790. if (event.srcElement.className=="menuitems"){
  791. if (event.srcElement.url != ''){
  792. if (event.srcElement.getAttribute("target")!=null)
  793. window.open(event.srcElement.url,event.srcElement.getAttribute("target"))
  794. else
  795. window.location=event.srcElement.url
  796. }
  797. }
  798. }*/
  799. // -->
  800. </script>