editoper.js
上传用户:yantgcom
上传日期:2013-07-19
资源大小:478k
文件大小:10k
源码类别:

MySQL数据库

开发平台:

PHP

  1. var prodList=getObj("productList");
  2. var listTableStart="<table width='100%' border='1' cellspacing='0' cellpadding='0' class='formBorder'>";
  3. if (document.all)
  4. var browser_ie=true
  5. else if (document.layers)
  6. var browser_nn4=true
  7. else if (document.layers || (!document.all && document.getElementById))
  8. var browser_nn6=true
  9. function addRow() { //新增行数
  10.    //adding new row
  11.    rowCnt++;
  12.    if (rowCnt%2==0)
  13.        var newRow="<tr id=row"+rowCnt+" class='evenListRow'>"
  14.    else
  15.        var newRow="<tr id=row"+rowCnt+" class='oddListRow'>"
  16.    newRow+="<tr id='row"+rowCnt+"'> "
  17.    newRow+="<td  >"+rowCnt+"<input type='hidden' id='auto"+rowCnt+"' name='auto"+rowCnt+"' value='0'></td>"
  18.    newRow+="<td  ><input class='button' type='button' onClick='productPickList(this)'  value='..'><input type='text' id='x_SHD01"+rowCnt+"' name='x_SHD01"+rowCnt+"' value='' size='5'><input name='pshd02"+rowCnt+"'  type='text' id='pshd02"+rowCnt+"' size='30' value=''></td>"
  19.    newRow+="<td  ><input name='pshd06"+rowCnt+"'  type='text' id='pshd06"+rowCnt+"' size='2'  value=''></td>"
  20.    newRow+="<td  ><input name='pshd03"+rowCnt+"'  type='text' id='pshd03"+rowCnt+"' size='10'  value='1' onBlur='calcTotal(this)'></td>"
  21.    newRow+="<td  ><input name='pshd04"+rowCnt+"'  type='text' id='pshd04"+rowCnt+"' size='8' value='' onBlur='calcTotal(this)'></td>"
  22.    newRow+="<td  ><input name='pshd05"+rowCnt+"'  type='text' id='pshd05"+rowCnt+"' size='8' value=''></td>"
  23.    //newRow+="<td  ><input name='x_SHD07"+rowCnt+"' type='text' id='x_SHD07"+rowCnt+"' size='10' value=''></td>"
  24.    newRow+="<td  ><input name='x_SHD09"+rowCnt+"' type='text' id='x_SHD09"+rowCnt+"' size='10' value=''>"
  25.    newRow+="<input type='hidden' id='hdnRowStatus"+rowCnt+"' name='hdnRowStatus"+rowCnt+"' value='1'></td>"
  26.    newRow+="</tr>"
  27.    //alert(newRow)
  28.      var prodListBody=getProdListBody()
  29.      if (browser_nn4 || browser_nn6) {
  30.        var product=new Array(rowCnt-1)
  31.        var qty=new Array(rowCnt-1)
  32.        var listPrice=new Array(rowCnt-1)
  33.        var productId=new Array(rowCnt-1)
  34.        var total=new Array(rowCnt-1)
  35.        var rowStatus=new Array(rowCnt-1)
  36. //alert(rowCnt);
  37.          for (var i=1,k=0;i<=rowCnt-1;i++,k++) {
  38.            product[k]=getObj("pshd02"+i).value
  39.            qty[k]=getObj("pshd06"+i).value
  40.            listPrice[k]=getObj("pshd03"+i).value
  41.            total[k]=getObj("pshd04"+i).value
  42.            productId[k]=getObj("x_SHD01"+i).value
  43.            rowStatus[k]=getObj("hdnRowStatus"+i).value
  44.        }
  45.    }
  46.      prodList.innerHTML=listTableStart+prodListBody.innerHTML+newRow+"</table>"
  47.      if (browser_nn4 || browser_nn6) {
  48.        for (var i=1,k=0;i<=rowCnt-1;i++,k++) {
  49.            getObj("pshd02"+i).value=product[k]
  50.            getObj("pshd06"+i).value=qty[k]
  51.            getObj("pshd03"+i).value=listPrice[k]
  52.            getObj("pshd04"+i).value=total[k]
  53.            getObj("x_SHD01"+i).value=productId[k]
  54.            getObj("hdnRowStatus"+i).value=rowStatus[k]
  55.        }
  56.    }
  57. function getProdListBody() {
  58. if (browser_ie) {
  59. var prodListBody=getObj("productList").children[0].children[0]
  60. } else if (browser_nn4 || browser_nn6) {
  61. if (getObj("productList").childNodes.item(0).tagName=="TABLE") {
  62. var prodListBody=getObj("productList").childNodes.item(0).childNodes.item(0)
  63. } else {
  64. var prodListBody=getObj("productList").childNodes.item(1).childNodes.item(1)
  65. }
  66. }
  67. return prodListBody;
  68. }
  69. function getObj(n,d) {
  70.   var p,i,x; 
  71.   if(!d)
  72.       d=document;
  73.    
  74.   if((p=n.indexOf("?"))>0&&parent.frames.length) {
  75.     d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);
  76.   }
  77.   if(!(x=d[n])&&d.all)
  78.       x=d.all[n];
  79.  
  80.   for(i=0;!x&&i<d.forms.length;i++)
  81.       x=d.forms[i][n];
  82.  
  83.   for(i=0;!x&&d.layers&&i<d.layers.length;i++)
  84.       x=getObj(n,d.layers[i].document);
  85.  
  86.   if(!x && d.getElementById)
  87.       x=d.getElementById(n);
  88.   return x;
  89. }
  90. function calcTotal(currObj) {
  91. var trObj=currObj.parentNode.parentNode
  92. var rowId=parseInt(trObj.id.substr(trObj.id.indexOf("w")+1,trObj.id.length))
  93. //alert(currObj.value)
  94.     //alert(rowId)
  95. var total=eval(getObj("pshd03"+rowId).value*getObj("pshd04"+rowId).value) / 1000
  96. //alert(total)
  97. //getObj("total"+rowId).innerHTML=getObj("hdnTotal"+rowId).value=roundValue(total.toString())
  98. getObj("pshd05"+rowId).value=getObj("pshd05"+rowId).value=roundValue(total.toString())
  99. calcGrandTotal()
  100. }
  101. function calcGrandTotal() {
  102. var subTotal=0,grandTotal=0;
  103. for (var i=1;i<=rowCnt;i++) {
  104. if (getObj("pshd05"+i).value=="") 
  105. getObj("pshd05"+i).value=0
  106. if (!isNaN(getObj("pshd05"+i).value)) 
  107. subTotal+=parseFloat(getObj("pshd05"+i).value)
  108. }
  109. getObj("SubTotal").value=roundValue(subTotal.toString())
  110. getObj("RmbTotal").value=convertCurrency(subTotal)
  111. }
  112. function roundValue(val) {
  113. if (val.indexOf(".")<0) {
  114. val+=".00"
  115. } else {
  116. var dec=val.substring(val.indexOf(".")+1,val.length)
  117. if (dec.length>2)
  118. val=val.substring(0,val.indexOf("."))+"."+dec.substring(0,2)
  119. else if (dec.length==1)
  120. val=val+"0"
  121. }
  122. return val;
  123. }
  124. function settotalnoofrows() {
  125. document.EditView.totalProductCount.value = rowCnt;
  126. }
  127. function validate() {
  128. if(!formValidate())
  129. return false
  130. if(!FindDuplicate())
  131.                         return false;
  132. if(rowCnt == 0)
  133.                 {
  134.                         alert('No product is selected. Select atleast one Product');
  135.                         return false;
  136.                 }
  137. for (var i=1;i<=rowCnt;i++) {
  138. if (!emptyCheck("pshd02"+i,"Product","text")) return false
  139. if (!emptyCheck("pshd03"+i,"Qty","text")) return false
  140. if (!numValidate("pshd03"+i,"Qty","any")) return false
  141. if (!numConstComp("pshd03"+i,"Qty","GE","1")) return false
  142. if (!emptyCheck("pshd04"+i,"List Price","text")) return false
  143. if (!numValidate("pshd04"+i,"List Price","any")) return false           }
  144. //if (getObj("txtTax").value.replace(/^s+/g, '').replace(/s+$/g, '').length>0)
  145. // if (!numValidate("txtTax","Tax","any")) return false
  146. // if (getObj("txtAdjustment").value.replace(/^s+/g, '').replace(/s+$/g, '').length>0)
  147. // if (!numValidate("txtAdjustment","Adjustment","any")) return false
  148. return true    
  149. }
  150. function formValidate() {  //检查数据正确性
  151. return true
  152. }
  153. function FindDuplicate(){  //检查 重复的产品
  154.    return true;
  155. var product_id = new Array(rowCnt-1);
  156. var product_name = new Array(rowCnt-1);
  157. product_id[1] = getObj("hdnProductId"+1).value;
  158. product_name[1] = getObj("txtProduct"+1).value;
  159. for (var i=1;i<=rowCnt;i++)
  160. {
  161. for(var j=i+1;j<=rowCnt;j++)
  162. {
  163. if(i == 1)
  164. {
  165. product_id[j] = getObj("hdnProductId"+j).value;
  166. }
  167. if(product_id[i] == product_id[j])
  168. {
  169. alert("You have selected < "+getObj("txtProduct"+j).value+" > more than once in line items  "+i+" & "+j+".n Please select it once and change the Qty");
  170. return false;
  171. }
  172. }
  173. }
  174.         return true;
  175. }
  176. function emptyCheck(fldName,fldLabel, fldType) {
  177. var currObj=getObj(fldName)
  178. if (fldType=="text") {
  179. if (currObj.value.replace(/^s+/g, '').replace(/s+$/g, '').length==0) {
  180.         alert(fldLabel+" cannot be empty")
  181. currObj.focus()
  182.                  return false
  183. }
  184.          else
  185.             
  186. return true
  187. } else {
  188. if (currObj.value == "" ) {
  189.                 alert(fldLabel+" cannot be none")
  190.                  return false
  191.          } else return true
  192. }
  193. }
  194. function numValidate(fldName,fldLabel,format,neg) {
  195.    var val=getObj(fldName).value.replace(/^s+/g, '').replace(/s+$/g, '')
  196.    if (format!="any") {
  197.        if (isNaN(val)) {
  198.            var invalid=true
  199.        } else {
  200.            var format=format.split(",")
  201.            var splitval=val.split(".")
  202.            if (neg==true) {
  203.                if (splitval[0].indexOf("-")>=0) {
  204.                    if (splitval[0].length-1>format[0])
  205.                        invalid=true
  206.                } else {
  207.                    if (splitval[0].length>format[0])
  208.                        invalid=true
  209.                }
  210.            } else {
  211.                if (val<0)
  212.                    invalid=true
  213.                else if (splitval[0].length>format[0])
  214.                    invalid=true
  215.            }
  216.                       if (splitval[1])
  217.                if (splitval[1].length>format[1])
  218.                    invalid=true
  219.        }
  220.               if (invalid==true) {
  221.            alert("Invalid "+fldLabel)
  222.            getObj(fldName).focus()
  223.            return false
  224.        } else return true
  225.    } else {
  226.    var splitval=val.split(".")
  227.                 if(splitval[0]>2147483647)
  228.                 {
  229.                         alert( fldLabel + " exceeds the maximum limit ");
  230.                         return false;
  231.                 }
  232.        if (neg==true)
  233.            var re=/^(-|)d+(.dd*)*$/
  234.        else
  235.            var re=/^d+(.dd*)*$/
  236.    }
  237.       if (!re.test(val)) {
  238.        alert("Invalid "+fldLabel)
  239.        getObj(fldName).focus()
  240.        return false
  241.    } else return true
  242. }
  243.    function numConstComp(fldName,fldLabel,type,constval) {
  244. var val=parseFloat(getObj(fldName).value.replace(/^s+/g, '').replace(/s+$/g, ''))
  245. constval=parseFloat(constval)
  246. var ret=true
  247. switch (type) {
  248. case "L"  : if (val>=constval) {
  249. alert(fldLabel+" should be less than "+constval)
  250. ret=false
  251. }
  252. break;
  253. case "LE" : if (val>constval) {
  254. alert(fldLabel+" should be less than or equal to "+constval)
  255.         ret=false
  256. }
  257. break;
  258. case "E"  : if (val!=constval) {
  259.                                         alert(fldLabel+" should be equal to "+constval)
  260.                                         ret=false
  261.                                 }
  262.                                 break;
  263. case "NE" : if (val==constval) {
  264.  alert(fldLabel+" should not be equal to "+constval)
  265. ret=false
  266. }
  267. break;
  268. case "G"  : if (val<=constval) {
  269. alert(fldLabel+" should be greater than "+constval)
  270. ret=false
  271. }
  272. break;
  273. case "GE" : if (val<constval) {
  274. alert(fldLabel+" should be greater than or equal to "+constval)
  275. ret=false
  276. }
  277. break;
  278. }
  279. if (ret==false) {
  280. getObj(fldName).focus()
  281. return false
  282. } else return true;
  283. }