테스트 사이트 - 개발 중인 베타 버전입니다

값전달시 계산 적용하는 방법 채택완료

망이망소이 7년 전 조회 1,810

 

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

 

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

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

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

조언 부탁드립니다.

 

 

</p>

<p><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)) {</p>

<p>        alert("숫자만을 입력하세요");

        objtext1.value = "";

        objtext1.focus();

        return false;

        }

        }

        return true;

        }</p>

<p>        var uppmesg;

        

              price_p = new Array(1); // 총 배열 숫자

              price_p[0] = 1000;  // 첫번째 제품 가격

// 추가시

//             price_p[추가번호] = 가격;  // 추가 제품 가격</p>

<p>               

        total_cost = 0;  // 합계 기본값

        size_cost = new Array(0); // 배열숫자 만큼 0추가</p>

<p>

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);

    }

  }</p>

<p>// 아래는 수정할 필요 없음

  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></p>

<p>.

.

.</p>

<p>설정: <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;"> 원</p>

<p>

<script>

//다른폼에 값전달

$("input[name='test2']").change(function(){

    $("input[name='cnjnum1']").val( $(this).val() );

});

</script></p>

<p>

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
e
7년 전

이 부분 수정해보세요..

</p>

<p><script></p>

<p>//다른폼에 값전달</p>

<p>$("input[name='test2']").change(function(){</p>

<p>$("input[name='cnjnum1']").val( $(this).val() );</p>

<p>Chage_Money(1);</p>

<p>});</p>

<p></script></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
7년 전
와~우 제대로 배워갑니다^^ 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

Policia
7년 전

설정:

 

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

망이망소이
7년 전
감사합니다.^^

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인