자바스크립트에서 합계 처리..
위 링크에 올려주신 소스를 반복문으로 처리를 하려 합니다. 반복횟수는 상황에 따라 달라질수가 있기에 처리를 해보니 에러만 좌르르륵 쏟아 집니다...
역시 실력없는 삽질파의 한계를 느끼며 혹시나 아시는 분의 조언을 구해 봅니다.
원본소스 기준 설명입니다.
<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>
행복한 봄날 되세요....^^
|
댓글을 작성하시려면 로그인이 필요합니다.
로그인
댓글 3개
<?
$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시간 이상을 혼자 해보겠다고 하다가 결국은 손들기 일보직전에서 .....ㅠ.ㅠ
거듭 감사를 드립니다....