public.js
上传用户:mingda
上传日期:2017-06-20
资源大小:27691k
文件大小:18k
源码类别:

OA系统

开发平台:

Java

  1. /*! servlet的相对路径,如没有相对路径则给值:servlet 如有相对路径值report则给值:webreport/servlet */
  2. var servletPath="servlet";  
  3. /*! 调用哪种数据库,用于备注字段是否是Clob型,access/sqlserver/oracle/db2 */
  4. var fc_Database="access";
  5. /*! 客户端缓存用的对象变量 */
  6.   var userData
  7.   
  8.   
  9. /**
  10. *把数据存到数据缓存中
  11. *@param Main 为主key, 如"List".
  12. *@param Sub 为子key,如"CustomerFlag"
  13. *@param strContent 为要存入的内容
  14. *@return 无返回
  15. */
  16. function SaveUserData(Main,Sub,strContent){
  17. userData.setAttribute(Main+userData.value,strContent)
  18. userData.save(Sub+userData.value)
  19. }
  20. /**
  21. *从数据缓存中装入到变量中
  22. *@param Main 为主key, 如"List".
  23. *@param Sub 为子key,如"CustomerFlag"
  24. *@return 返回取出的内容
  25. */
  26. function LoadUserData(Main,Sub){
  27. userData.load(Sub+userData.value)  
  28. var sTmp=userData.getAttribute(Main+userData.value)
  29. if (sTmp==null) sTmp=""
  30. return sTmp
  31. }
  32. /**
  33. *替代非法XML字符,如<>
  34. *@param sSql 为要替代的字符串,
  35. *@return 返回替代后的字符串
  36. */
  37. function TransXml(sSql){
  38. var sql1=sSql
  39. /*
  40. for(var i=0;i<sSql.length;i++) {
  41. switch (sSql.charAt(i)) {
  42. case "<" :
  43. sql1=sql1+"&lt;";
  44. break;
  45. case ">" :
  46. sql1=sql1+"&gt;";
  47. break;
  48. default:
  49. sql1=sql1+sSql.charAt(i);
  50. }
  51. }
  52. */
  53. sql1=escape(sql1);
  54. return sql1
  55. }
  56. /**
  57. *按小数位数格式化字符
  58. *@param sValue 为要格式化的字符串,
  59. *@param sPointNum 为小数位数,整型
  60. *@return 返回格式化后的字符串
  61. */
  62. function ContDec(sValue,sPointNum) {
  63. var dblValue=parseFloat(sValue)
  64. if (isNaN(dblValue)) return sValue
  65. var iPointNum=parseInt(sPointNum)
  66. if (isNaN(iPointNum)) iPointNum=0
  67. if (iPointNum>9) iPointNum=9
  68. if (iPointNum<0) iPointNum=0
  69. var dbl1=Math.round(dblValue*Math.pow(10,iPointNum))/Math.pow(10,iPointNum)
  70. var s1=dbl1+""
  71. var num0=0
  72. if(s1.indexOf(".")==-1){
  73. num0=iPointNum
  74. }
  75. else {
  76. var num1=s1.length-s1.indexOf(".")-1
  77. if(num1<iPointNum )
  78. num0=iPointNum-num1
  79. }
  80. if (num0>0) {
  81. var s2="000000000000000"
  82. if(num0==iPointNum)
  83. s1=s1+"."+s2.substring(0,num0)
  84. else
  85. s1=s1+s2.substring(0,num0)
  86. }
  87. //if (right(s1,1)==".")
  88. // s1=s1.substring(s1.length-1,s1.length)
  89. return s1
  90. }
  91. /**
  92. *将"1-3,5" --> 1 2 3 5的数组
  93. *@param cText 为要处理的字符串,
  94. *@return 返回一个数组
  95. */
  96. function PrintArray(cText) {
  97. //返回一个数组
  98. //"1-3,5" --> 1 2 3 5的数组
  99.     var i =0, ilen =0, iul =0, j=0
  100.     var cstring ="", csubstr=""
  101.     var cstrStart="", cstrEnd =""
  102.     var iPosSeperator=0 , iposMinus =0
  103.     var ival =0, ival1 =0, ival2 =0
  104.     var iarray=new Array()
  105.     var iParray=new Array()
  106.     
  107.     
  108.     cstring = trim(cText)
  109.     
  110.     do
  111.     {
  112.         iPosSeperator = cstring.indexOf(",")
  113.         if (iPosSeperator < 0){
  114.             csubstr = cstring
  115. }            
  116.         else {
  117.             csubstr = cstring.substring(0, iPosSeperator)
  118.             cstring = cstring.substring(iPosSeperator + 1,cstring.length)
  119.             //alert(csubstr+" "+cstring)
  120.         }
  121.         
  122.         
  123.         iposMinus = csubstr.indexOf("-")
  124.         if( iposMinus > 0 ){
  125.             cstrStart = csubstr.substring( 0, iposMinus )
  126.             cstrEnd = trim(csubstr.substring(iposMinus + 1,csubstr.length))
  127.             ival1 = parseInt(cstrStart)
  128.             ival2 = parseInt(cstrEnd)
  129.             
  130.             if (ival1 != 0 || ival2 != 0 ){
  131.                 if (ival1 == 0 && ival2 > 0 ) {
  132.                     iul = iarray.length
  133.                     //ReDim Preserve iarray(iul + 1)
  134.                     iarray[iul] = ival2
  135.                 }
  136.                 else {
  137.                     if (ival1 > 0 && ival2 == 0 ) {
  138.                         iul = iarray.length
  139.                         iarray[iul] = ival1
  140.                     }
  141.                     else {   
  142.                         if( ival1 > ival2 ){
  143.                             ival = ival1
  144.                             ival1 = ival2
  145.                             ival2 = ival
  146.                         }
  147.                         iul = iarray.length
  148.                         //ReDim Preserve iarray(iul + ival2 - ival1 + 1)
  149.                         for( i = 0 ;i<= ival2 - ival1;i++){
  150.                             iarray[iul + i] = ival1 + i
  151.                         }
  152. }
  153.                 }
  154. }
  155.         }
  156.         else {
  157.             ival = parseInt(csubstr)
  158.             //If ival < 0 Then GoTo PError
  159.             if( ival > 0 ){
  160.                 iul = iarray.length
  161.                 //ReDim Preserve iarray(iul + 1)
  162.                 iarray[iul] = ival
  163.             }
  164.         }
  165.     }        
  166.     while (iPosSeperator > 0) 
  167.     
  168.     ilen = iarray.length
  169.     if( ilen > 0) {
  170.         for( i = 0 ;i<= ilen - 2;i++){
  171.             for( j = i + 1;j<=ilen - 1;j++) {
  172.                 if (iarray[i] > iarray[j] ){
  173.                     ival = iarray[i]
  174.                     iarray[i] = iarray[j]
  175.                     iarray[j] = ival
  176.                 }
  177.             }
  178.         }
  179.     
  180.         ival = -1
  181.         for( i = 0 ;i<= ilen - 1;i++) {
  182.             if( iarray[i] != ival) {
  183.                 iul = iParray.length
  184.                 //ReDim Preserve iParray(iul + 1)
  185.                 iParray[iul] = iarray[i]
  186.                 ival = iarray[i]
  187.             }
  188.         }
  189.     }
  190. return iParray
  191.     
  192. }
  193. /**
  194. *通过SQL返回一个字段的第一个记录值,返回类型:字符
  195. *@param sql 为要处理的字符串,
  196. *@return 返回一个数组
  197. */
  198. function SqlToField(sql) {
  199. //通过SQL返回一个字段的第一个记录值,返回类型:字符
  200. var sRet=""
  201. var sXml=fc_select(sql,1,2)
  202. if(sXml!="<root></root>") {
  203. var oXml=new ActiveXObject("Microsoft.XMLDOM")
  204. oXml.async="false";
  205. oXml.loadXML(sXml)
  206. sRet=oXml.documentElement.childNodes(0).text
  207. }
  208. return sRet
  209. }
  210. /**
  211. * 去掉根结点标记
  212. * 13==>15 -7==>-9 是指结尾用换行回车符
  213. *@param strX 为要处理前的字符串,
  214. *@return 返回处理后的字符串
  215. */
  216. function RemoveRoot(strX){
  217.   //去掉根结点标记
  218.   //13==>15 -7==>-9 是指结尾用换行回车符
  219.   if (strX.length>13)
  220. {
  221. strX=strX.substring(6,strX.length-7)
  222. return strX
  223. }
  224. else
  225. {
  226. return ""
  227. }
  228. }
  229. function getreportcell(iRow,iCol,strTableName){
  230. return GETREPORTCELL(iRow,iCol,strTableName)
  231. }
  232. function GETREPORTCELL(iRow,iCol,strTableName) {
  233. //跨表取数
  234. //sdgdfg
  235. var sXml="<Row>"+iRow+"</Row>"+"<Col>"+iCol+"</Col>"+"<TableName>"+escape(strTableName)+"</TableName>"
  236. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?GetReportCell",sXml)
  237. retX=RemoveRoot(retX)
  238. var s1=unescape(retX)
  239. if (isNaN(parseFloat(s1)))
  240. var v=s1
  241. else
  242. var v=parseFloat(s1)
  243. return v
  244. }
  245. function GETDB(strConnection,strSql) {
  246. //从数据库中取数函数//取第一条记录的第一个字段的值
  247. var sXml="<Conn>"+strConnection+"</Conn><sSql>"+strSql+"</sSql>"
  248. // var sT=SendHttp("servlet/javaReport?GetDB",s1)
  249.    //alert(sXml)
  250. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?GetDB",sXml)
  251. return retX
  252. }
  253. function DelReport(sRepName) {
  254. //删除报表
  255. //sRepName为未加码的报表名称
  256. var ret = window.confirm("确定删除"+sRepName+"报表吗?");
  257. if (ret) {
  258. var sRet=fc_insert("delete * from fcCell where fstrTableName='"+escape(sRepName)+"'")
  259. if(isSpace(sRet)){
  260. ShowXml("")
  261. }else {
  262. var sRet=fc_insert("delete  from fcCell where fstrTableName='"+escape(sRepName)+"'")
  263. if(isSpace(sRet)){
  264. ShowXml("")
  265. }else{
  266. alert(sRet)
  267. }
  268. }
  269. }
  270. }
  271. /**
  272. *执行插入 unescape
  273. **/
  274. function fc_insertunescape(sSql) {
  275. //执行插入
  276. //sSql=escape(sSql)
  277. var sXml="<No>"+sSql+"</No>"
  278. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_insertunescape",sXml)
  279. return retX
  280. }
  281. /**
  282. *执行插入
  283. **/
  284. function fc_insert(sSql) {
  285. //执行插入
  286. sSql=escape(sSql)
  287. var sXml="<No>"+sSql+"</No>"
  288. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_insert",sXml)
  289. return retX
  290. }
  291. /**
  292. //执行为一对多表插入
  293. //参数串先为主表,后为子表,子表的最后字段值主子表关联字段值,在这不用管了(包括后括号也不用管了)。
  294. **/
  295. function fc_insert1(sXml) {
  296. //执行为一对多表插入
  297. //参数串先为主表,后为子表,子表的最后字段值主子表关联字段值,在这不用管了(包括后括号也不用管了)。
  298. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_insert1",sXml)
  299. return retX
  300. }
  301. /**
  302. //执行为一对多表修改
  303. //参数串先为主表,后为子表
  304. **/
  305. function fc_update1(sXml) {
  306. //执行为一对多表修改
  307. //参数串先为主表,后为子表
  308. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_update1",sXml)
  309. return retX
  310. }
  311. /**
  312. *执行查询
  313. *@param PageNo 页码
  314. *@param PageSize 页尺寸,即一页含多少行
  315. *@return 查询结果
  316. **/
  317. function fc_select(sSql,PageNo,PageSize) {
  318. //执行查询
  319. //PageNo页码
  320. //PageSize页尺寸,即一页含多少行
  321. var sql1=sSql
  322. /*
  323. for(var i=0;i<sSql.length;i++) {
  324. switch (sSql.charAt(i)) {
  325. case "<" :
  326. sql1=sql1+"&lt;";
  327. break;
  328. case ">" :
  329. sql1=sql1+"&gt;";
  330. break;
  331. default:
  332. sql1=sql1+sSql.charAt(i);
  333. }
  334. }
  335. */
  336. sql1=escape(sql1)
  337. //alert(sql1)
  338. //替代非法XML字符
  339. var sXml="<No>"+sql1+"</No>"+"<No1>"+PageNo+"</No1>"+"<No2>"+PageSize+"</No2>"
  340. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_select",sXml)
  341. return retX
  342. }
  343. /**
  344. *判断是否为空
  345. **/
  346. function isSpace(strMain){
  347. strComp=strMain
  348. if (strComp==" " || strComp=="" || strComp==" " || strComp==null || strComp.length==0 ) { 
  349. return true
  350. }
  351. else
  352. {
  353. return false
  354. }
  355. }
  356. /**
  357. *和后台通讯函数
  358. *@param sAspFile 后台文件url
  359. *@param sSend 要发送的数据
  360. *@return 处理结果
  361. **/
  362. function SendHttp(sAspFile,sSend)
  363. {
  364.     if (navigator.onLine==false) 
  365.     {
  366. return "你现在处于脱机状态,请联机后再试!"
  367.     }
  368.     var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  369.     xmlhttp.Open("POST", sAspFile, false);
  370. try
  371. {
  372.     xmlhttp.Send("<root>"+sSend+"</root>");
  373. }
  374. catch (exception)
  375. {
  376. alert("服务器忙!")
  377. }
  378. try
  379. {
  380. var str11=xmlhttp.responseText
  381. }
  382. catch (exception)
  383. {
  384. if (exception.description=='系统错误: -1072896748。') 
  385. {
  386. str11=""
  387. }
  388. }
  389. return str11
  390. }
  391. /**
  392. *取得当前日期
  393. **/
  394. function curDate() {
  395. var dDate=new Date()
  396. var s1=""+dDate.getYear()
  397. var s2=dDate.getMonth()+1
  398. if (s2<10) 
  399. s2="0"+s2
  400. else
  401. s2=""+s2
  402. var s3=dDate.getDate()
  403. if (s3<10) 
  404. s3="0"+s3
  405. else
  406. s3=""+s3
  407. return s1+"-"+s2+"-"+s3 
  408. }
  409. //字符串实用函数
  410. function getFront(mainStr,searchStr){
  411. foundOffset=mainStr.indexOf(searchStr)
  412. if (foundOffset==-1) {
  413. return null
  414. }
  415. return mainStr.substring(0,foundOffset)
  416. }
  417. function getEnd(mainStr,searchStr) {
  418. foundOffset=mainStr.indexOf(searchStr)
  419. if (foundOffset==-1) {
  420. return null
  421. }
  422. return mainStr.substring(foundOffset+searchStr.length,mainStr.length)
  423. }
  424. /**
  425. //代替字符串
  426. //mainStr为源串  searchStr为要查找的串  replaceStr为要改为的串
  427. //返回替换后的串
  428. **/
  429. function replaceString(mainStr,searchStr,replaceStr) {
  430. //代替字符串
  431. //mainStr为源串  searchStr为要查找的串  replaceStr为要改为的串
  432. //返回替换后的串
  433. var front=getFront(mainStr,searchStr)
  434. var end=getEnd(mainStr,searchStr)
  435. if (front!=null && end!=null) {
  436. return front+replaceStr+end
  437. }
  438. return mainStr
  439. }
  440. function left(mainStr,lngLen) {
  441. if (lngLen>0) {
  442. return mainStr.substring(0,lngLen)
  443. }
  444. else
  445. {
  446. return null
  447. }
  448. }
  449. function right(mainStr,lngLen) {
  450. // alert(mainStr.length)
  451. if (mainStr.length-lngLen>=0 && mainStr.length>=0 && mainStr.length-lngLen<=mainStr.length) {
  452. return mainStr.substring(mainStr.length-lngLen,mainStr.length)
  453. }
  454. else
  455. {
  456. return null
  457. }
  458. }
  459. /**
  460. //滤掉左右空格
  461. **/
  462. function trim(strMain) {
  463. if (strMain==null) return ""
  464.   var str1=strMain
  465. //去掉回车符
  466.   var ascMain=strMain.charCodeAt(strMain.length-1)
  467. if (ascMain==32) str1=left(strMain,strMain.length-1)
  468. if (str1==null) return ""
  469.   for (var i=0;i<=str1.length-1;i++) {
  470.        var mychar=str1.charAt(i);
  471.        if ((mychar!=" ") && (mychar!=" ")) {
  472.            str1=str1.substring(i,str1.length);
  473.            break;
  474.            } 
  475.       }
  476.   for (var i=str1.length-1;i>0;i--) {
  477.       var mychar=str1.charAt(i);
  478.       if ((mychar!=" ")  && (mychar!=" ")) {
  479.          str1=str1.substring(0,i+1);
  480.          break;
  481.       }
  482.   }
  483.   return str1;
  484. }
  485. /**
  486. //多次替代字符串
  487. **/
  488. function fc_RepStr(mainStr,findStr,replaceStr){
  489. //多次替代
  490. var iStart=0
  491. var iEnd=0
  492. var sRet=""
  493. while (iStart<mainStr.length) {
  494. iEnd=mainStr.indexOf(findStr,iStart)
  495. if (iEnd<0) {
  496. iEnd=mainStr.length
  497. sRet=sRet+mainStr.substring(iStart,iEnd)
  498. }
  499. else {
  500. sRet=sRet+mainStr.substring(iStart,iEnd)+replaceStr
  501. }
  502. iStart=iEnd+findStr.length
  503. }
  504. return sRet
  505. }
  506. function fillcombox(sSql) {
  507. //资料选择返回SQL等
  508. //sXml:1方案号 2过滤参数
  509. var sql1=""
  510. for(var i=0;i<sSql.length;i++) {
  511. switch (sSql.charAt(i)) {
  512. case "<" :
  513. sql1=sql1+"&lt;";
  514. break;
  515. case ">" :
  516. sql1=sql1+"&gt;";
  517. break;
  518. default:
  519. sql1=sql1+sSql.charAt(i);
  520. }
  521. }
  522. //替代非法XML字符
  523. var sXml="<No>"+sql1+"</No>"
  524. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fillcombox",sXml)
  525. return retX
  526. //返回的串不带根节点
  527. //<option>...</option>...
  528. }
  529. function repXml(sSql) {
  530. //替代非法XML字符
  531. var sql1=""
  532. for(var i=0;i<sSql.length;i++) {
  533. switch (sSql.charAt(i)) {
  534. case "<" :
  535. sql1=sql1+"&lt;";
  536. break;
  537. case ">" :
  538. sql1=sql1+"&gt;";
  539. break;
  540. default:
  541. sql1=sql1+sSql.charAt(i);
  542. }
  543. }
  544. return sql1
  545. }
  546. /**
  547. *检查SQL语句是否正确
  548. *@param sSql 被检查的sql语句,字符串
  549. *@return 如正确返回true,sql为空也返回true.
  550. *@date 2003-05-20
  551. **/
  552. function checksql(sSql){
  553. if(isSpace(sSql)) return true
  554. var sql1=""
  555. for(var i=0;i<sSql.length;i++) {
  556. switch (sSql.charAt(i)) {
  557. case "<" :
  558. sql1=sql1+"&lt;";
  559. break;
  560. case ">" :
  561. sql1=sql1+"&gt;";
  562. break;
  563. default:
  564. sql1=sql1+sSql.charAt(i);
  565. }
  566. }
  567. //替代非法XML字符
  568. var sXml="<No>"+sql1+"</No>"
  569. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?checksql",sXml)
  570. if(isSpace(retX)){ 
  571. return true
  572. }else{
  573. alert("SQL语句非法!")
  574. return false
  575. }
  576. }
  577. /**
  578. //执行多个查询,主要实现象带子查询的情况
  579. //sXml为包含条件的XML串
  580. **/
  581. function fc_select1(sXml) {
  582. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_select1",sXml)
  583. return retX
  584. }
  585. /**
  586. //执行多个查询,主要实现小计行等汇总数据和明细数据同时要的情况
  587. //sXml为包含条件的XML串
  588. //<page><pageno>1</pageno><pagesize>30</pagesize></page>
  589. //<source><datasource>webgrid</datasource><username>sa</username><password></password></source>
  590. //<mainsql><sql>select fstrCustomerName,fstrItemName,convert(decimal(16,2),fdblQuantity),convert(decimal(16,2),fdblPrice),convert(decimal(16,2), SendOutDetail.fcurAmount) from SendOut Inner Join SendOutDetail On SendOut.flngSendOutID=SendOutDetail.flngSendOutID  where 2000=2000</sql>
  591. //</mainsql>
  592. //<group><sql>select fstrCustomerName,null,convert(decimal(16,2),sum(fdblQuantity)),convert(decimal(16,2),sum(fdblPrice)),convert(decimal(16,2), sum(SendOutDetail.fcurAmount)) from SendOut Inner Join SendOutDetail On SendOut.flngSendOutID=SendOutDetail.flngSendOutID  where 2000=2000 group by SendOut.fstrCustomerName order by SendOut.fstrCustomerName</sql>
  593. //<groupfield>SendOut.fstrCustomerName</groupfield>
  594. //</group>
  595. //<group><sql>select null,SendOutDetail.fstrItemName,convert(decimal(16,2),sum(fdblQuantity)),convert(decimal(16,2),sum(fdblPrice)),convert(decimal(16,2), sum(SendOutDetail.fcurAmount)) from SendOut Inner Join SendOutDetail On SendOut.flngSendOutID=SendOutDetail.flngSendOutID  where 2000=2000 group by SendOutDetail.fstrItemName order by SendOutDetail.fstrItemName</sql>
  596. //<groupfield>SendOutDetail.fstrItemName</groupfield>
  597. //</group>
  598. **/
  599. function fc_select2(sXml) {
  600. /*
  601. sXml="<pageno>1</pageno><pagesize>30</pagesize>"
  602. +"<mainsql><sql>select fstrCustomerName,fstrItemName,convert(decimal(16,2),fdblQuantity),convert(decimal(16,2),fdblPrice),convert(decimal(16,2), SendOutDetail.fcurAmount) from SendOut Inner Join SendOutDetail On SendOut.flngSendOutID=SendOutDetail.flngSendOutID  where 2000=2000</sql>"
  603. +"</mainsql>"
  604. +"<group><sql>select fstrCustomerName,fstrCustomerName,null,convert(decimal(16,2),sum(fdblQuantity)),convert(decimal(16,2),sum(fdblPrice)),convert(decimal(16,2), sum(SendOutDetail.fcurAmount)) from SendOut Inner Join SendOutDetail On SendOut.flngSendOutID=SendOutDetail.flngSendOutID  where 2000=2000 group by SendOut.fstrCustomerName order by SendOut.fstrCustomerName</sql>"
  605. +"<groupfield>SendOut.fstrCustomerName</groupfield>"
  606. +"</group>"
  607. +"<group><sql>select SendOutDetail.fstrItemName,null,SendOutDetail.fstrItemName,convert(decimal(16,2),sum(fdblQuantity)),convert(decimal(16,2),sum(fdblPrice)),convert(decimal(16,2), sum(SendOutDetail.fcurAmount)) from SendOut Inner Join SendOutDetail On SendOut.flngSendOutID=SendOutDetail.flngSendOutID  where 2000=2000 group by SendOutDetail.fstrItemName order by SendOutDetail.fstrItemName</sql>"
  608. +"<groupfield>SendOutDetail.fstrItemName</groupfield>"
  609. +"</group>"
  610. */
  611. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_select2",sXml)
  612. return retX
  613. }
  614. /**
  615. //判断字段sField是否存在于sTable表中,如存在则返回"",
  616. **/
  617. function fc_FieldInTable(sField,sTable) {
  618. var sXml="<No>"+sField+"</No>"+"<No1>"+sTable+"</No1>"
  619. var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_FieldInTable",sXml)
  620. return retX
  621. }
  622. /**
  623. //插入带备注型的表
  624. **/
  625. function fc_insertClob(sXml){
  626. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_insertClob",sXml)
  627. return retX
  628. }
  629. /**
  630. //更新带备注型的表
  631. **/
  632. function fc_updateClob(sXml){
  633. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_updateClob",sXml)
  634. return retX
  635. }
  636. /**
  637. //装入带备注型的表
  638. //sXml为带XML标签的表名 如<no>%20dd</no>
  639. **/
  640. function fc_loadClob(sXml){
  641. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_loadClob",sXml)
  642. return retX
  643. }
  644. /**
  645. //装入带备注型的表
  646. //sXml为带XML标签的表名 如<no>%20dd</no>
  647. //求fstrtable1的值
  648. **/
  649. function fc_loadClob1(sXml){
  650. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_loadClob1",sXml)
  651. return retX
  652. }
  653. /**
  654. *提示非法XML字符
  655. *@date 2003-06-18
  656. *@param checkStr 被检查的字符串
  657. *@return 返回""表示合法,
  658. **/
  659. function checkXmlStr(checkStr){
  660. var s1="<>"
  661. var tip="不能包含<>字符,应将<用&lt;替代,将>用&gt;替代."
  662. if(checkStr.indexOf('<')>=0){
  663. alert(tip)
  664. return s1
  665. }
  666. if(checkStr.indexOf('>')>=0){
  667. alert(tip)
  668. return s1
  669. }
  670. return ""
  671. }
  672. /**
  673. *进入日期参照
  674. **/
  675. function selectdate() {
  676. var ctrlName=event.srcElement.id
  677. new DateControl20(ctrlName);
  678. }