값전달시 계산 적용하는 방법

값전달시 계산 적용하는 방법

QA

값전달시 계산 적용하는 방법

본문

 

평에 숫자를 직접입력해 넣으면 1,000원과 곱해서 계산이 되고 총합계에 자동으로 반영됩니다.

2943654061_1525327727.4777.png

 

설정을 하나 더 두고 설정에서 숫자를 넣으면 평에 전달되어 값들이 자동계산되도록 하고 싶은데요.

2943654061_1525327875.6601.png

위와같이 값이 전달되지만 계산이 자동반영되지 않아서 

어떻게 해야할지 아래 소스코드를 올렸습니다.

조언 부탁드립니다.

 

 


<script language="JavaScript">
document.write('<style>');
document.write('.cnj_input { border-width:1; border-style:solid; border-color:#000000; color:#0084D4; background-color:white;}');
document.write('</style>');
// 견적서 자동 계산하기
        function onlyNum(objtext1) {
        var inText = objtext1.value;
        var ret;
        for (var i = 0; i < inText.length; i++) {
        ret = inText.charCodeAt(i);
        if ((ret < 48) || (ret > 57)) {
        alert("숫자만을 입력하세요");
        objtext1.value = "";
        objtext1.focus();
        return false;
        }
        }
        return true;
        }
        var uppmesg;
        
              price_p = new Array(1); // 총 배열 숫자
              price_p[0] = 1000;  // 첫번째 제품 가격
// 추가시
//             price_p[추가번호] = 가격;  // 추가 제품 가격
               
        total_cost = 0;  // 합계 기본값
        size_cost = new Array(0); // 배열숫자 만큼 0추가

function Chage_Money(num) {
    var f = document.fwrite;
    getcost(num)                        
    total_cost = 0;
    for (i=0; i<1; i++) { // 총 배열숫자와 동일해야함
      total_cost += size_cost[i];        
      f.total_cost.value = eval(total_cost);
    }
  }
// 아래는 수정할 필요 없음
  function getcost(stype){
    var f = document.fwrite;
    tempcost = 0;
    temp = "f.cnjnum";
    temp += stype;
    tempcost += eval(temp + ".value") * price_p[stype-1];
    
    cnjcost = "cnjcost" + stype + "";
    f.elements[cnjcost].value = tempcost;
    
    size_cost[stype-1] = tempcost;
  }
//-->
</script>
.
.
.
설정: <input type="text" name="test2" id="test2" onkeyup="onlyNum(this,11);" onchange="onlyNum(this,11);" /> 평
    
1,000 X <input type="text" class="cnj_input" name="cnjnum1" onKeyup="javascript:Chage_Money(1);onlyNum(fwrite.cnjnum1);" onChange="javascript:Chage_Money(1)" ; size="3" maxlength="3" style="text-align:center;" > 평
= <input type="text" class="cnj_input"  name="cnjcost1" size="7" readonly style="text-align:right;"> 원
총합계: <input type="text" class="cnj_input"  name="total_cost" size="10" readonly style="text-align:right;"> 원

<script>
//다른폼에 값전달
$("input[name='test2']").change(function(){
    $("input[name='cnjnum1']").val( $(this).val() );
});
</script>

이 질문에 댓글 쓰기 :

답변 2

이 부분 수정해보세요..


<script>
//다른폼에 값전달
$("input[name='test2']").change(function(){
$("input[name='cnjnum1']").val( $(this).val() );
Chage_Money(1);
});
</script>

설정: <input type="text" name="test2" id="test2" onkeyup="Chage_Money(1);onlyNum(this,11);" onchange="Chage_Money(1);onlyNum(this,11);" /> 평

 

설정하실때도 Chage_Money함수를 선언해주셔야 될것같네요

답변을 작성하시기 전에 로그인 해주세요.
전체 7
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT