자바스크립트에서 합계 처리.. 정보
자바스크립트에서 합계 처리..관련링크
본문
위 링크에 올려주신 소스를 반복문으로 처리를 하려 합니다. 반복횟수는 상황에 따라 달라질수가 있기에 처리를 해보니 에러만 좌르르륵 쏟아 집니다...
역시 실력없는 삽질파의 한계를 느끼며 혹시나 아시는 분의 조언을 구해 봅니다.
원본소스 기준 설명입니다.
<form name="form1">
<!--- 여기부터 반복문으로 고쳐서--->
인트로(20만원)<input type=hidden name="intro" value="200000">
수량: <input type=text name="intro_count" size=3 onkeyup="my_calc(this.form.intro, this.form.intro_count, this.form.intro_sum)">
합계: <input type=text name="intro_sum" size=6 readonly value="0"><br><br>
<!-- 여기까지를 돌리고 -->
수량: <input type=text name="main_count" size=3 onkeyup="my_calc(this.form.main, this.form.main_count, this.form.main_sum)">
합계: <input type=text name="main_sum" size=6 readonly value="0"><br><br>
수량: <input type=text name="subpage_count" size=3 onkeyup="my_calc(this.form.subpage, this.form.subpage_count, this.form.subpage_sum)">
합계: <input type=text name="subpage_sum" size=6 readonly value="0"><br><br>
전체 합계: <input type=text name="total" size=9 value="0">
<script language="javascript">
function my_calc(item, item_count, item_sum){
if(item_count.value=="") var count = 0;
else var count = item_count.value;
else var count = item_count.value;
item_sum.value = eval(item.value) * eval(count) ;
my_total(document.form1);
}
}
function my_total(f){
//이부분에서 입력을 처리를 해야는데 eval(f.intro_sum.value)+ eval(f.main_sum.value) + eval(f.subpage_sum.value); 갯수에서 걸립니다..ㅠ.ㅠ
//이부분을 어떻게 처리를 해야 할까용?.......ㅠ.ㅠ
//이부분에서 입력을 처리를 해야는데 eval(f.intro_sum.value)+ eval(f.main_sum.value) + eval(f.subpage_sum.value); 갯수에서 걸립니다..ㅠ.ㅠ
//이부분을 어떻게 처리를 해야 할까용?.......ㅠ.ㅠ

f.total.value = eval(f.intro_sum.value)+ eval(f.main_sum.value) + eval(f.subpage_sum.value);
}
}
</script>
</form>
행복한 봄날 되세요....^^

댓글 전체
<form name="form1">
<?
$cnt = 반복횟수;
for($i=0;$i<$cnt;$i++){
?>
<!--- 여기부터 반복문으로 고쳐서--->
인트로(20만원)<input type=hidden name="intro[]" value="200000">
수량: <input type=text name="intro_count[]" size=3 onkeyup="my_calc(this.form.intro[<?=$i?>], this.form.intro_count[<?=$i?>], this.form.intro_sum[<?=$i?>])">
합계: <input type=text name="intro_sum[]" size=6 readonly value="0"><br><br>
<!-- 여기까지를 돌리고 -->
<?
}
$js_print = "";
for($i=0;$i<$cnt;$i++){
// 자바스크립트 출력부분
$js_print.="eval(f.intro_sum[$i].value)+";
}
?>
메인(10만원)<input type=hidden name="main" value="100000">
수량: <input type=text name="main_count" size=3 onkeyup="my_calc(this.form.main, this.form.main_count, this.form.main_sum)">
합계: <input type=text name="main_sum" size=6 readonly value="0"><br><br>
서브페이지(2만원)<input type=hidden name="subpage" value="20000">
수량: <input type=text name="subpage_count" size=3 onkeyup="my_calc(this.form.subpage, this.form.subpage_count, this.form.subpage_sum)">
합계: <input type=text name="subpage_sum" size=6 readonly value="0"><br><br>
전체 합계: <input type=text name="total" size=9 value="0">
<script language="javascript">
function my_calc(item, item_count, item_sum){
if(item_count.value=="") var count = 0;
else var count = item_count.value;
item_sum.value = eval(item.value) * eval(count) ;
my_total(document.form1);
}
function my_total(f){
//이부분에서 입력을 처리를 해야는데 eval(f.intro_sum.value)+ eval(f.main_sum.value) + eval(f.subpage_sum.value); 갯수에서 걸립니다..ㅠ.ㅠ
//이부분을 어떻게 처리를 해야 할까용?.......ㅠ.ㅠ
f.total.value = <?=$js_print?> eval(f.main_sum.value) + eval(f.subpage_sum.value);
}
</script>
</form>
이렇게 바꾸어보았습니다.
반복문의 이름을 배열화 시켰습니다.
<?
$cnt = 반복횟수;
for($i=0;$i<$cnt;$i++){
?>
<!--- 여기부터 반복문으로 고쳐서--->
인트로(20만원)<input type=hidden name="intro[]" value="200000">
수량: <input type=text name="intro_count[]" size=3 onkeyup="my_calc(this.form.intro[<?=$i?>], this.form.intro_count[<?=$i?>], this.form.intro_sum[<?=$i?>])">
합계: <input type=text name="intro_sum[]" size=6 readonly value="0"><br><br>
<!-- 여기까지를 돌리고 -->
<?
}
$js_print = "";
for($i=0;$i<$cnt;$i++){
// 자바스크립트 출력부분
$js_print.="eval(f.intro_sum[$i].value)+";
}
?>
메인(10만원)<input type=hidden name="main" value="100000">
수량: <input type=text name="main_count" size=3 onkeyup="my_calc(this.form.main, this.form.main_count, this.form.main_sum)">
합계: <input type=text name="main_sum" size=6 readonly value="0"><br><br>
서브페이지(2만원)<input type=hidden name="subpage" value="20000">
수량: <input type=text name="subpage_count" size=3 onkeyup="my_calc(this.form.subpage, this.form.subpage_count, this.form.subpage_sum)">
합계: <input type=text name="subpage_sum" size=6 readonly value="0"><br><br>
전체 합계: <input type=text name="total" size=9 value="0">
<script language="javascript">
function my_calc(item, item_count, item_sum){
if(item_count.value=="") var count = 0;
else var count = item_count.value;
item_sum.value = eval(item.value) * eval(count) ;
my_total(document.form1);
}
function my_total(f){
//이부분에서 입력을 처리를 해야는데 eval(f.intro_sum.value)+ eval(f.main_sum.value) + eval(f.subpage_sum.value); 갯수에서 걸립니다..ㅠ.ㅠ
//이부분을 어떻게 처리를 해야 할까용?.......ㅠ.ㅠ
f.total.value = <?=$js_print?> eval(f.main_sum.value) + eval(f.subpage_sum.value);
}
</script>
</form>
이렇게 바꾸어보았습니다.
반복문의 이름을 배열화 시켰습니다.
감사합니다....^^
약 40시간 이상을 혼자 해보겠다고 하다가 결국은 손들기 일보직전에서 .....ㅠ.ㅠ
거듭 감사를 드립니다....
약 40시간 이상을 혼자 해보겠다고 하다가 결국은 손들기 일보직전에서 .....ㅠ.ㅠ
거듭 감사를 드립니다....
혹 안되시면 다시 질문주세요 *** 개인정보보호를 위한 이메일주소 노출방지 *** 네이트온으로도 질문받아요