값전달시 계산 적용하는 방법 채택완료
망이망소이
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 포인트
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년 전
와~우 제대로 배워갑니다^^ 감사합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인