요거한번봐주세요 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

요거한번봐주세요 정보

요거한번봐주세요

본문

콤마찍기를 추가했는데 수량과 가격이 1000원이 넘어가면 에러가 나요
도와주세요

<form name="fwrite" method="post" action="javascript:fwrite_check(document.fwrite);" enctype="multipart/form-data" style="margin:0px;">
<input type=hidden name=null>
<input type=hidden name=w        value="<?=$w?>">
<input type=hidden name=bo_table value="<?=$bo_table?>">
<input type=hidden name=wr_id    value="<?=$wr_id?>">
<input type=hidden name=sca      value="<?=$sca?>">
<input type=hidden name=sfl      value="<?=$sfl?>">
<input type=hidden name=stx      value="<?=$stx?>">
<input type=hidden name=spt      value="<?=$spt?>">
<input type=hidden name=sst      value="<?=$sst?>">
<input type=hidden name=sod      value="<?=$sod?>">
<input type=hidden name=page     value="<?=$page?>">

<tr><td>
수량
<input type=text name="wr_11" id="a" value="0<?=$write[wr_11]?>" itemname="a" onKeyPress="Incredit_comma(this)" onKeyUp="my_calc(this.form)" style="text-align:right;" size="5" class="border" />
가격
<input type=text name="wr_12" id="a_a" value="0<?=$write[wr_12]?>" itemname="a_a" onKeyPress="Incredit_comma(this)" onKeyUp="my_calc(this.form)" style="text-align:right;" size="7"   class="border"/>
공급가
<input type=text name="wr_13" id="a_aa" value="0<?=$write[wr_13]?>" itemname="a_aa" style="text-align:right;" size=10 readonly class="no_border2" />
부가세
<input type=text name="wr_14" id="a_bat" value="0<?=$write[wr_14]?>" itemname="a_bat" style="text-align:right;" size=10 readonly class="no_border2"/>
운송비
<input type=text name="wr_15" id="a_aaa" value="0<?=$write[wr_15]?>" itemname="a_aaa" onKeyPress="Incredit_comma(this)" onKeyUp="my_calc(this.form)" style="text-align:right;" size="10" class="border" />
합계
<input type=text name="wr_16" id="a_sum" value="0<?=$write[wr_16]?>" itemname="a_sum" style="text-align:right;" size=10 readonly class="no_border" />
<br />
전체 합계:
<input type=text name="wr_23" id="total" value="0<?=$write[wr_23]?>" itemname="total" style="text-align:right;" size=10 readonly /></td>
</td></tr>
<script language="javascript">
  function my_calc(f){
  if(f.a.value=="")  f.a.value="0"; 
  f.a_aa.value = eval(f.a.value) * eval(f.a_a.value) ;
  f.a_bat.value = eval(f.a.value) * eval(f.a_a.value) * 0.1 ;
  f.a_sum.value = eval(f.a_aa.value) + eval(f.a_bat.value)  + eval(f.a_aaa.value) ; 
 my_total();
 }
 function my_total(){
 var f = document.fwrite;
  f.total.value = setComma( eval(f.a_sum.value) );
  }
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
//천단위 콤마 나타내기
function setComma(str){
 var returnVal = String(str);

 while(returnVal.match(/^(-?\d+)(\d{3})/)){
  returnVal = returnVal.replace(/^(-?\d+)(\d{3})/,'$1,$2');
 }
 return returnVal;
}

//입력과 동시에 천단위 콤마 찍기
function Incredit_comma(obj)
{
 var  s = parseFloat(obj.value.replace(/\,/g,""));
 var ns = s.toString();
 var dp;
 
 if(isNaN(ns))
  return "";
 
 dp = ns.search(/\./);
 
 if(dp<0)
  dp = ns.length;
 
 dp-=2;
 while(dp>0)
 {
  ns = ns.substr(0,dp)+","+ns.substr(dp);
  dp-=3;
 }
 obj.value = ns;
 return true;
}

//특정문자 제거
function filter(str){
re = /^\$|,|-/g;
// "$" and "," and "-"입력 제거
return str.replace(re, "");
}

//-->
</SCRIPT>
</form>

 

  • 복사

댓글 전체

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
        <title>소계 계산 방법 변경 test 2</title>
        <SCRIPT LANGUAGE="JavaScript">
            <!--
            function autocal(index, obj){
                var price = filter((fwrite.price[index].value));
                var quantity = filter((fwrite.quantity[index].value));
                var transport = filter((fwrite.transport[index].value));         
 
                if (isNaN(filter(obj.value))) {
                    alert("숫자를 입력하시오!");
                    obj.value = '0';
                    obj.focus();
                }
                else {
                    //row별 계산결과 구하기
                    fwrite.tot_price[index].value = setComma(eval(price) * eval(quantity));
                    // 부가세
                    fwrite.additional_tax[index].value = setComma(eval(price) * eval(quantity) / 10);                 
                    // 기존 계산 -------- 소계 = 공급가+부가세
                    fwrite.subtotal[index].value = setComma((110 * eval(price) * eval(quantity)) / 100);                 
                    // 1)공급가+부가세+운송비=소계
                    fwrite.subtotal1[index].value = setComma((110 * eval(price) * eval(quantity)) / 100 + parseInt(eval(transport))) ;   
                    // 2)공급가+운송비=소계
                    fwrite.subtotal2[index].value = setComma((eval(price) * eval(quantity)) + parseInt(eval(transport))) ;     
                    //소계 구하기
                    var sum_price = 0; //
                    var sum_quantity = 0; //
                    var sum_tot_price = 0; //공급가
                    var sum_additional_tax = 0; //
                    var sum_transport = 0; //
                    var sum_subtotal = 0; //
                    var sum_subtotal1 = 0; //
                    var sum_subtotal2 = 0; //
                    for (i = 0; i < fwrite.price.length; i++) {
                        sum_price += eval(filter(fwrite.price[i].value)); //
                        sum_quantity += eval(filter(fwrite.quantity[i].value));
                        sum_tot_price += eval(filter(fwrite.tot_price[i].value));
                        sum_additional_tax += eval(filter(fwrite.additional_tax[i].value));
                        sum_transport += eval(filter(fwrite.transport[i].value)); //
                        sum_subtotal += eval(filter(fwrite.subtotal[i].value)); //소계
                        sum_subtotal1 += eval(filter(fwrite.subtotal1[i].value)); //소계1
                        sum_subtotal2 += eval(filter(fwrite.subtotal2[i].value)); //소계2 
 
                    }
 
                    fwrite.sum_price.value = setComma(sum_price);
                    fwrite.sum_quantity.value = setComma(sum_quantity);
                    fwrite.sum_tot_price.value = setComma(sum_tot_price);
                    fwrite.sum_additional_tax.value = setComma(sum_additional_tax);
                    fwrite.sum_transport.value = setComma(sum_transport);
                    fwrite.sum_subtotal.value = setComma(sum_subtotal); // 소계
                    fwrite.sum_subtotal1.value = setComma(sum_subtotal1); // 소계1
                    fwrite.sum_subtotal2.value = setComma(sum_subtotal2); // 소계2
                }
            }
            //input 클릭했을때 전체선택(onclick="text_select(this)")
            //function text_select(obj){
            //    obj.select();
            //}
            //천단위 콤마 나타내기
            function setComma(str){
                var returnVal = String(str);
                while (returnVal.match(/^(-?\d+)(\d{3})/)) {
                    returnVal = returnVal.replace(/^(-?\d+)(\d{3})/, '$1,$2');
                }
                return returnVal;
            }
            //입력과 동시에 천단위 콤마 찍기
            function Incredit_comma(obj){
                var s = parseFloat(obj.value.replace(/\,/g, ""));
                var ns = s.toString();
                var dp;             
 
                if (isNaN(ns))
                    return "";             
 
                dp = ns.search(/\./);             
 
                if (dp < 0)
                    dp = ns.length;             
 
                dp -= 2;
                while (dp > 0) {
                    ns = ns.substr(0, dp) + "," + ns.substr(dp);
                    dp -= 3;
                }
                obj.value = ns;
                return true;
            }         
 
            //특정문자 제거
            function filter(str){
                re = /^\$|,|-/g;
                // "$" and "," and "-"입력 제거
                return str.replace(re, "");
            }
            //-->
        </SCRIPT>
    </head>
    <body><br>
 
        <form name="fwrite" action="">
            가격*
              <input type="text" name="price" onkeypress="Incredit_comma(this);" onkeyup="autocal('0',this);" value="0" size="10">수량<input type="text" name="quantity" onkeypress="Incredit_comma(this);" onkeyup="autocal('0',this);" value="0" size="10">공급가<input type="text" name="tot_price" value="0" size="10">부가세<input type="text" name="additional_tax" value="0" size="10">운송비<input type="text" name="transport" onkeypress="Incredit_comma(this);" onkeyup="autocal('0',this);" value="0" size="10">
            <br>
            소계*
            <input type="text" name="subtotal" value="0" size="10" />
= 공급가+부가세            <br>
            소계1
            <input type="text" name="subtotal1" value="0" size="10" />
          = 공급가+부가세+운송비<br>
            소계2
            <input type="text" name="subtotal2" value="0" size="10" />
 
            = 공급가+운송비<br>
 
            가격*
            <input type="text" name="price" onkeypress="Incredit_comma(this);" onkeyup="autocal('1',this);" value="0" size="10" />수량<input type="text" name="quantity" onkeypress="Incredit_comma(this);" onkeyup="autocal('1',this);" value="0" size="10" />공급가<input type="text" name="tot_price" value="0" size="10" />부가세<input type="text" name="additional_tax" value="0" size="10" />운송비<input type="text" name="transport" onkeypress="Incredit_comma(this);" onkeyup="autocal('1',this);" value="0" size="10" />
            <br>
            소계*
            <input type="text" name="subtotal" value="0" size="10" />
            = 공급가+부가세<br>
            소계1
            <input type="text" name="subtotal1" value="0" size="10" />
            = 공급가+부가세+운송비            <br>
            소계2
            <input type="text" name="subtotal2" value="0" size="10" />
= 공급가+운송비
            <br>
 
            <br>
 
<hr />
 
            가격*
            <input type="text" name="sum_price" value="0" size="10" />수량<input type="text" name="sum_quantity" value="0" size="10" />공급가<input type="text" name="sum_tot_price" value="0" size="10" />부가세<input type="text" name="sum_additional_tax" value="0" size="10" />운송비<input type="text" name="sum_transport" value="0" size="10" />
 
            <br>
          합계*
            <input type="text" name="sum_subtotal" value="0" size="10" />
            = 공급가+부가세            <br>
            합계1
            <input type="text" name="sum_subtotal1" value="0" size="10" />
          = 공급가+부가세+운송비<br>
            합계2
            <input type="text" name="sum_subtotal2" value="0" size="10" />
 
            = 공급가+운송비
            <br>
 <hr />
 <br>
            <br>         
    </form>
 
    </body>
 
</html>
© SIRSOFT
현재 페이지 제일 처음으로