UIB010270.xrw 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/css" href="../../css/body.css" ?>
  3. <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
  4. <xhtml:head>
  5. <xhtml:title>
  6. <![CDATA[品质设计>>生产规范录入>>外形尺寸标准录入]]>
  7. </xhtml:title>
  8. <model id="model1">
  9. <instance id="instance1">
  10. <root xmlns="">
  11. <formData>
  12. <delSpec/>
  13. <NeedGrd/>
  14. </formData>
  15. <datagrid1/>
  16. <datagrid2/>
  17. <reqData/>
  18. <resData/>
  19. <tempData1/>
  20. <tempData2/>
  21. <initData>
  22. <InitSpecResult_VO>
  23. <InitSpecResult_Row>
  24. <LABEL>---全部---</LABEL>
  25. <VALUE/>
  26. </InitSpecResult_Row>
  27. </InitSpecResult_VO>
  28. </initData>
  29. <tolerance>
  30. <Tolerance_Row>
  31. <LABEL/>
  32. <VALUE/>
  33. </Tolerance_Row>
  34. </tolerance>
  35. <initDengData>
  36. <DengJi_Row>
  37. <LABEL/>
  38. <VALUE/>
  39. </DengJi_Row>
  40. </initDengData>
  41. <SpecResult>
  42. <InitSpecResult_Row>
  43. <LABEL/>
  44. <VALUE/>
  45. </InitSpecResult_Row>
  46. </SpecResult>
  47. </root>
  48. </instance>
  49. <script type="javascript" ev:event="xforms-ready">
  50. <![CDATA[
  51. if(window.parent==null) Init();
  52. ]]>
  53. </script>
  54. </model>
  55. <script type="javascript" src="../../js/boaCommon.js"/>
  56. <script type="javascript" src="../../js/b01.js"/>
  57. <script type="javascript">
  58. <![CDATA[
  59. function Init(node)
  60. {
  61. InitParams(node);
  62. datagrid2.colStatus(datagrid2.colRef("CHK")) = false;
  63. commSubmit("UIB010270-service", "success", "glueAction.do");
  64. model.duplicate("/root/initData" , "/root/resData/InitSpecResult_VO");//交付条件标准号初始化
  65. model.copyNode("/root/tolerance" , "/root/resData/Tolerance_VO");//公差(名)初始化
  66. model.copyNode("/root/initDengData" , "/root/resData/DengJi_VO");//等级代码
  67. model.copyNode("/root/SpecResult" , "/root/resData/InitSpecResult_VO");
  68. model.copyNode("/root/InitCopyDel" , "/root/resData/CopyDel_VO");
  69. model.refresh();
  70. }
  71. function find()
  72. {
  73. model.removenode("/root/reqData");
  74. model.makeNode("/root/reqData");
  75. commSendReq("/root/formData");
  76. commSubmit("UIB010270-service", "find", "glueAction.do");
  77. model.copyNode("/root/datagrid1" , "/root/resData/DelSpecResult_VO");
  78. currentRow = 0;
  79. // model.resetInstanceNode("/root/datagrid2"); 数据行实际上仍然保留,所以不能用该方法
  80. model.removenode("/root/datagrid2");
  81. model.makeNode("/root/datagrid2");
  82. datagrid1.clearStatus();
  83. datagrid2.clearStatus();
  84. model.refresh();
  85. datagrid1.cellAttribute("disabled",datagrid1.fixedRows , datagrid1.fixedCols , datagrid1.rows - 1 , datagrid1.cols - 1) = "true";
  86. }
  87. function save()
  88. {
  89. if(currentRow==0){window.alert("非法操作" , "提示"); return;}
  90. if(commComfirmBox("确认保存?","提示")=="0") return;
  91. model.removenode("/root/reqData");
  92. model.makeNode("/root/reqData");
  93. model.removenode("/root/tempData1");
  94. model.makeNode("/root/tempData1");
  95. b01MultiUpdate(datagrid2 , "/root/tempData1" , "A" , true , "rowStuts1");
  96. commSendReq("/root/formData","/root/datagrid1/DelSpecResult_Row["+currentRow+"]" , "/root/tempData1");
  97. getLoggingInInfo();
  98. commSubmit("UIB010270-service", "save", "glueAction.do");
  99. datagrid1.clearStatus();
  100. datagrid2.clearStatus();
  101. currentRow = 0;//防止保存误操作
  102. datagrid1.cellAttribute("disabled",datagrid1.fixedRows , datagrid1.fixedCols , datagrid1.rows - 1 , datagrid1.cols - 1) = "true";
  103. }
  104. var currentRow = 0;
  105. ]]>
  106. </script>
  107. </xhtml:head>
  108. <xhtml:body pagewidth="980" pageheight="620">
  109. <datagrid id="datagrid2" nodeset="/root/datagrid2/ToleranceResult_Row" caption="选择^公差名^等级代码^是否切边^厚度^厚度^宽度^宽度^下限^下限^上限^上限^其它^其它^备注^EMEC_TP^公差^厚度^厚度^宽度^宽度|选择^公差名^等级代码^是否切边^最小^最大^最小^最大^符号^值^符号^值^单位^值^备注^EMEC_TP^隐^隐^隐^隐^隐" colsep="^" colwidth="40, 73, 75, 67, 45, 45, 45, 45, 40, 40, 40, 40, 40, 40, 100, 51, 40, 40, 40, 40, 36" defaultrows="36" mergecellsfixedrows="bycolrec" rowsep="|" selectionmode="free" tooltip="label" style="left:335px; top:35px; width:645px; height:585px; border-style:solid; ">
  110. <col checkvalue="Y,N" ref="CHK" type="checkbox"/>
  111. <col disabled="true" ref="DEL_TOL_CD" type="combo" style="text-align:left; background-color:#ffffff; ">
  112. <choices>
  113. <itemset nodeset="/root/tolerance/Tolerance_Row">
  114. <label ref="LABEL"/>
  115. <value ref="VALUE"/>
  116. </itemset>
  117. </choices>
  118. </col>
  119. <col disabled="true" ref="DEV_DGR_CD" type="combo" style="text-align:left; ">
  120. <choices>
  121. <itemset nodeset="/root/initDengData/DengJi_Row">
  122. <label ref="LABEL"/>
  123. <value ref="VALUE"/>
  124. </itemset>
  125. </choices>
  126. </col>
  127. <col ref="EMEC_TP" type="combo">
  128. <choices>
  129. <item>
  130. <label>EM</label>
  131. <value>EM</value>
  132. </item>
  133. <item>
  134. <label>EC</label>
  135. <value>EC</value>
  136. </item>
  137. </choices>
  138. </col>
  139. <col disabled="true" ref="THK_MIN" type="input" style="text-align:right; background-color:#ffffff; "/>
  140. <col disabled="true" ref="THK_MAX" type="input" style="text-align:right; background-color:#ffffff; "/>
  141. <col disabled="true" ref="WTH_MIN" type="input" style="text-align:right; background-color:#ffffff; "/>
  142. <col disabled="true" ref="WTH_MAX" type="input" style="text-align:right; background-color:#ffffff; "/>
  143. <col disabled="true" ref="TOL_MIN_SYM" type="combo" style="text-align:left; background-color:#ffffff; ">
  144. <choices>
  145. <item>
  146. <label>-</label>
  147. <value>-</value>
  148. </item>
  149. <item>
  150. <label>+</label>
  151. <value>+</value>
  152. </item>
  153. </choices>
  154. </col>
  155. <col disabled="true" ref="TOL_MIN" type="input" style="text-align:right; background-color:#ffffff; "/>
  156. <col disabled="true" ref="TOL_MAX_SYM" type="combo" style="text-align:left; background-color:#ffffff; ">
  157. <choices>
  158. <item>
  159. <label>-</label>
  160. <value>-</value>
  161. </item>
  162. <item>
  163. <label>+</label>
  164. <value>+</value>
  165. </item>
  166. </choices>
  167. </col>
  168. <col disabled="true" ref="TOL_MAX" type="input" style="text-align:right; background-color:#ffffff; "/>
  169. <col disabled="true" ref="TOL_UNIT" type="input" style="text-align:left; background-color:#ffffff; "/>
  170. <col disabled="true" ref="TOL_VAL" type="input" style="text-align:right; background-color:#ffffff; "/>
  171. <col ref="DEV_RMK" type="input" style="text-align:left; background-color:#ffffff; "/>
  172. <col ref="EMEC_TP1" visibility="hidden"/>
  173. <col ref="DEL_TOL_CD1" visibility="hidden"/>
  174. <col ref="DEV_DGR_CD1" visibility="hidden"/>
  175. <col ref="THK_MIN1" visibility="hidden"/>
  176. <col ref="THK_MAX1" visibility="hidden"/>
  177. <col ref="WTH_MIN1" visibility="hidden"/>
  178. <col ref="WTH_MAX1" visibility="hidden"/>
  179. <script type="javascript" ev:event="onclick">
  180. <![CDATA[
  181. if(datagrid2.row < datagrid2.fixedRows) return;
  182. if(datagrid2.col != datagrid2.colRef("CHK")) return;
  183. var cRow = datagrid2.row;
  184. var chkCol = datagrid2.colRef("CHK");
  185. var startCol = datagrid2.colRef("DEL_TOL_CD");
  186. if(datagrid2.valueMatrix(cRow , chkCol) == "Y")//可编辑状态
  187. {
  188. datagrid2.cellAttribute("disabled",cRow , chkCol+1 , cRow , datagrid2.cols-1) = "false";
  189. for(var i = startCol ; i < datagrid2.cols ; i++)
  190. {
  191. datagrid2.cellStyle("background-color",cRow, i) = "#ffff99";
  192. }
  193. }
  194. else
  195. {
  196. datagrid2.cellAttribute("disabled",cRow , chkCol+1 , cRow , datagrid2.cols-1) = "true";
  197. for(var i = startCol ; i < datagrid2.cols ; i++)
  198. {
  199. datagrid2.cellStyle("background-color",cRow, i) = "#ffffff";
  200. }
  201. }
  202. ]]>
  203. </script>
  204. <script type="javascript" ev:event="onentercell">
  205. <![CDATA[
  206. datagrid2.editCell();
  207. ]]>
  208. </script>
  209. <script type="javascript" ev:event="onkeydown">
  210. <![CDATA[
  211. onkeydownmove(datagrid2);
  212. ]]>
  213. </script>
  214. <script type="javascript" ev:event="xforms-value-changed">
  215. <![CDATA[
  216. compareMINMAX(datagrid2,"THK_MIN","THK_MAX") //验证最大值不能小于最小值
  217. compareMINMAX(datagrid2,"WTH_MIN","WTH_MAX") //验证最大值不能小于最小值
  218. ]]>
  219. </script>
  220. </datagrid>
  221. <caption id="caption1" class="cell" style="left:0px; top:5px; width:100px; height:20px; vertical-align:middle; border-style:solid; ">外形尺寸标准号</caption>
  222. <button id="button6" style="left:840px; top:5px; width:70px; height:20px; background-image:../../images/btn_add.gif; ">
  223. <caption>增加</caption>
  224. <script type="javascript" ev:event="onclick">
  225. <![CDATA[
  226. datagrid2.addRow();
  227. datagrid2.vscroll.attribute("pos") = datagrid2.rows*20;
  228. datagrid2.valueMatrix(datagrid2.row , datagrid2.colRef("CHK")) = "Y";
  229. datagrid2.cellStyle("background-color",datagrid2.row, datagrid2.colRef("DEL_TOL_CD") , datagrid2.row , datagrid2.cols-1) = "#ffff99";
  230. model.refresh();
  231. ]]>
  232. </script>
  233. </button>
  234. <button id="button7" style="left:902px; top:5px; width:73px; height:20px; background-image:../../images/btn_move.gif; ">
  235. <caption>删除</caption>
  236. <script type="javascript" ev:event="onclick">
  237. <![CDATA[
  238. if(beGridChanged(datagrid2) == "1")
  239. {
  240. if(commComfirmBox("数据已被更改,可能出现误删,确定删除?","提示")=="0") return;
  241. }
  242. var rows = datagrid2.rows;
  243. for(var i=rows; i > 0; i--)
  244. {
  245. if(datagrid2.valueMatrix(i , 0)=="Y")
  246. {
  247. datagrid2.deleteRow(i , false);
  248. }
  249. }
  250. save();
  251. ]]>
  252. </script>
  253. </button>
  254. <button id="button8" style="left:200px; top:35px; width:70px; height:20px; background-image:../../images/btn_add.gif; ">
  255. <caption>增加</caption>
  256. <script type="javascript" ev:event="onclick">
  257. <![CDATA[
  258. if(beGridChanged(datagrid1,datagrid2) == "1")
  259. {
  260. window.alert("数据已更新,请保存!" , "警告");
  261. return;
  262. }
  263. //只有最后一行允许编辑
  264. datagrid1.cellAttribute("disabled",datagrid1.fixedRows , datagrid1.fixedCols , datagrid1.rows - 1 , datagrid1.cols - 1) = "true";
  265. datagrid1.addRow();
  266. currentRow = datagrid1.row;
  267. model.removenode("/root/datagrid2");
  268. model.makeNode("/root/datagrid2");
  269. datagrid1.vscroll.attribute("pos") = datagrid1.rows*20;//滚动条到最后
  270. model.refresh();
  271. ]]>
  272. </script>
  273. </button>
  274. <button id="button9" style="left:270px; top:35px; width:70px; height:20px; background-image:../../images/btn_move.gif; ">
  275. <caption>删除</caption>
  276. <script type="javascript" ev:event="onclick">
  277. <![CDATA[
  278. if(beGridChanged(datagrid1) == "1")
  279. {
  280. window.alert("数据已修改,请保存或初始化!" , "警告");
  281. return;
  282. }
  283. if(commComfirmBox("确定删除?","提示")=="0") return;
  284. model.removenode("/root/reqData");
  285. model.makeNode("/root/reqData");
  286. datagrid1.deleteRow(datagrid1.row );
  287. b01MultiUpdate(datagrid1,"/root/reqData" ,"A", true, "rowStatusD");
  288. getLoggingInInfo();
  289. commSubmit("UIB010270-service", "save", "glueAction.do");
  290. datagrid1.clearStatus();
  291. model.removenode("/root/datagrid2");
  292. model.makeNode("/root/datagrid2");
  293. model.refresh();
  294. ]]>
  295. </script>
  296. </button>
  297. <select1 id="combo1" ref="/root/formData/delSpec" appearance="minimal" style="left:97px; top:5px; width:236px; height:20px; border-style:solid; ">
  298. <choices>
  299. <itemset nodeset="/root/initData/InitSpecResult_VO/InitSpecResult_Row">
  300. <label ref="LABEL"/>
  301. <value ref="VALUE"/>
  302. </itemset>
  303. </choices>
  304. </select1>
  305. <line id="line2" style="x1:0px; y1:0px; x2:980px; y2:0px; "/>
  306. <line id="line1" style="x1:0px; y1:30px; x2:980px; y2:30px; "/>
  307. <button id="button3" style="left:0px; top:35px; width:65px; height:20px; background-image:../../images/btn_add.gif; ">
  308. <caption>复制到</caption>
  309. <script type="javascript" ev:event="DOMActivate">
  310. <![CDATA[
  311. if(datagrid1.row <datagrid1.fixedRows) return;
  312. if(commComfirmBox("确认复制到: "+radio1.label+"尺寸<"+model.getValue("/root/formData/delSpec")
  313. +" "+model.getValue("/root/formData/NeedGrd") +">","提示")=="0") return;
  314. model.removenode("/root/reqData");
  315. commSendReq("/root/formData" , "/root/datagrid1/DelSpecResult_Row["+datagrid1.row+"]");
  316. getLoggingInInfo();//操作人
  317. model.makeValue("/root/reqData/CALL" , "CALL");
  318. commSubmit("UIB010270-service", "save", "glueAction.do");
  319. model.refresh();
  320. ]]>
  321. </script>
  322. </button>
  323. <select1 id="combo3" ref="/root/formData/NeedGrd" appearance="minimal" style="left:60px; top:35px; width:100px; height:20px; ">
  324. <choices>
  325. <itemset nodeset="/root/initDengData/DengJi_Row">
  326. <label ref="LABEL"/>
  327. <value ref="VALUE"/>
  328. </itemset>
  329. </choices>
  330. </select1>
  331. <datagrid id="datagrid1" nodeset="/root/datagrid1/DelSpecResult_Row" caption="外形尺寸标准号^查询" colsep="^" colwidth="166, 78" defaultrows="46" mergecellsfixedrows="bycolrec" rowheader="seq" rowheight="30" rowsep="|" tooltip="label" style="left:0px; top:57px; width:330px; height:563px; ">
  332. <col disabled="true" editmode="input" ref="DEV_SPEC_CD" type="combo" style="text-align:left; background-color:#ffff99; ">
  333. <choices>
  334. <itemset nodeset="/root/SpecResult/InitSpecResult_Row">
  335. <label ref="LABEL"/>
  336. <value ref="VALUE"/>
  337. </itemset>
  338. </choices>
  339. </col>
  340. <col ref="QUERY" style="cursor:hand; "/>
  341. <script type="javascript" ev:event="onclick">
  342. <![CDATA[
  343. if(datagrid1.col == datagrid1.colRef("QUERY") && datagrid1.row >= datagrid1.fixedRows)
  344. {
  345. if(datagrid1.rowStatus(datagrid1.rows-1) == 1)
  346. {
  347. window.alert("增加状态下不允许该操作!" , "警告");
  348. datagrid1.row = datagrid1.rows-1;
  349. return;
  350. }
  351. if(beGridChanged(datagrid1 , datagrid2) == "1" && currentRow != 0)
  352. {
  353. if(commComfirmBox("数据已修改,是否保存被修改的数据?","提示")=="0")
  354. {
  355. datagrid1.clearStatus();
  356. datagrid2.clearStatus();
  357. }
  358. else
  359. {
  360. save();
  361. }
  362. }
  363. model.removenode("/root/reqData");
  364. model.makeNode("/root/reqData");
  365. commSendReq("/root/datagrid1/DelSpecResult_Row["+datagrid1.row+"]");
  366. commSubmit("UIB010270-service", "onclick", "glueAction.do");
  367. model.copyNode("/root/datagrid2" , "/root/resData/ToleranceResult_VO");
  368. model.refresh();
  369. currentRow = datagrid1.row;
  370. datagrid1.col = 1;//焦点变化,以免拖动滚动条时做了查询操作
  371. datagrid1.clearStatus();
  372. datagrid2.clearStatus();
  373. datagrid2.rebuildStyle();
  374. datagrid2.cellAttribute("disabled",datagrid2.fixedRows , datagrid2.fixedCols+1 , datagrid2.rows - 1 , datagrid2.cols - 1) = "true";
  375. }
  376. ]]>
  377. </script>
  378. <script type="javascript" ev:event="onentercell">
  379. <![CDATA[
  380. datagrid1.editCell();
  381. ]]>
  382. </script>
  383. <script type="javascript" ev:event="onkeydown">
  384. <![CDATA[
  385. onkeydownmove(datagrid1);
  386. ]]>
  387. </script>
  388. </datagrid>
  389. <button id="button1" style="left:775px; top:5px; width:60px; height:20px; background-image:../../images/btn_add.gif; ">
  390. <caption>复制</caption>
  391. <script type="javascript" ev:event="DOMActivate">
  392. <![CDATA[
  393. var checkFlag = "N";
  394. for(var i = datagrid2.fixedRows; i < datagrid2.rows; i++)
  395. {
  396. if(datagrid2.valueMatrix(i , datagrid2.colRef("CHK")) == "Y")
  397. {
  398. checkFlag = "Y";
  399. break;
  400. }
  401. }
  402. if(checkFlag == "N")
  403. {
  404. window.alert("请选择需要复制的行!","提示");
  405. return;
  406. }
  407. if(commComfirmBox("确定复制?","提示")=="0") return;
  408. var checkCol = datagrid2.colRef("CHK");
  409. var tolCol = datagrid2.colRef("DEL_TOL_CD");//公差名
  410. var thkMinCol = datagrid2.colRef("THK_MIN");//厚度最小
  411. var thkMaxCol = datagrid2.colRef("THK_MAX");//厚度最大
  412. var wthMinCol = datagrid2.colRef("WTH_MIN");
  413. var wthMaxCol = datagrid2.colRef("WTH_MAX");
  414. var symMinCol = datagrid2.colRef("TOL_MIN_SYM");
  415. var symMaxCol = datagrid2.colRef("TOL_MAX_SYM");
  416. var tolMin = datagrid2.colRef("TOL_MIN");
  417. var tolMax = datagrid2.colRef("TOL_MAX");
  418. var tolUnitCol = datagrid2.colRef("TOL_UNIT");//单位
  419. var tolValCol = datagrid2.colRef("TOL_VAL");//值
  420. var theMaxRows = datagrid2.rows;
  421. for(var i = datagrid2.fixedRows; i < theMaxRows; i++)
  422. {
  423. if(datagrid2.valueMatrix(i , datagrid2.colRef("CHK")) == "Y")
  424. {
  425. datagrid2.addRow();
  426. datagrid2.cellStyle("background-color",datagrid2.row, datagrid2.colRef("DEL_TOL_CD") , datagrid2.row , datagrid2.cols-1) = "#99cc00";
  427. datagrid2.valueMatrix(datagrid2.row , checkCol) = "Y";
  428. datagrid2.valueMatrix(datagrid2.row , tolCol) = datagrid2.valueMatrix(i , tolCol);
  429. datagrid2.valueMatrix(datagrid2.row , thkMinCol) = datagrid2.valueMatrix(i , thkMinCol);
  430. datagrid2.valueMatrix(datagrid2.row , thkMaxCol) = datagrid2.valueMatrix(i , thkMaxCol);
  431. datagrid2.valueMatrix(datagrid2.row , wthMinCol) = datagrid2.valueMatrix(i , wthMinCol);
  432. datagrid2.valueMatrix(datagrid2.row , wthMaxCol) = datagrid2.valueMatrix(i , wthMaxCol);
  433. datagrid2.valueMatrix(datagrid2.row , symMinCol) = datagrid2.valueMatrix(i , symMinCol);
  434. datagrid2.valueMatrix(datagrid2.row , symMaxCol) = datagrid2.valueMatrix(i , symMaxCol);
  435. datagrid2.valueMatrix(datagrid2.row , tolMin) = datagrid2.valueMatrix(i , tolMin);
  436. datagrid2.valueMatrix(datagrid2.row , tolMax) = datagrid2.valueMatrix(i , tolMax);
  437. datagrid2.valueMatrix(datagrid2.row , tolUnitCol)= datagrid2.valueMatrix(i , tolUnitCol);
  438. datagrid2.valueMatrix(datagrid2.row , tolValCol) = datagrid2.valueMatrix(i , tolValCol);
  439. }
  440. }
  441. model.refresh();
  442. datagrid2.vscroll.attribute("pos") = datagrid2.rows*20;
  443. ]]>
  444. </script>
  445. </button>
  446. <button id="button2" visibility="hidden" style="left:430px; top:0px; width:100px; height:20px; ">
  447. <caption>FIND</caption>
  448. <script type="javascript" ev:event="DOMActivate">
  449. <![CDATA[
  450. find();
  451. ]]>
  452. </script>
  453. </button>
  454. <button id="button4" visibility="hidden" style="left:535px; top:0px; width:100px; height:20px; ">
  455. <caption>FIND1</caption>
  456. <script type="javascript" ev:event="DOMActivate">
  457. <![CDATA[
  458. save();
  459. ]]>
  460. </script>
  461. </button>
  462. </xhtml:body>
  463. </xhtml:html>