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