묻고답하기

text박스에 onkeypress이벤트와 onkeyup이벤트에 스크립트 함수를 걸었습니다.

onkeypress -> 숫자를 누르기 전 숫자를 다른 text박스에 저장
onkeyup -> 변경된 숫자를 받아서 onkeypress 에서 저장한 수와의 차이를 전체합계 text박스에 더합니다.

이렇게해서 항상 전체합계가 계산되도록 하려고하는데

문제는 text박스에 처음 수를 쓸때는 잘 되지만 커서가 다른곳으로 이동할때도 onkeyup 이벤트가 일어나더군요

그래서 계산이 불필요하게 한번 더 일어나고 결과적으로 전체합계가 달라지게 되는 현상이

onkeyup 이 이벤트를 숫자키만 눌렀을때 일어나게 할 수 있나요?

아니면 커서가 옮겨질 때만이라도 안일어나게 하는 방법이나 다른 이벤트가 있으면 부탁드립니다.


-----------------------------소스가 좀 복잡해서..ㅡ.ㅜ-----------------------------------


<SCRIPT LANGUAGE="JavaScript">
<!--
function calc_ready(obj,i,j,type){
        form1.temp_value.value= obj.value;
        form1.temp_i.value= i;
        form1.temp_j.value= j;
        form1.temp_type.value= type;

        if(type == 'p'){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.temp_sum1.value= form1.W_$ii.value n";
                                echo"tttt form1.temp_sum2.value= form1.WP_$jj.value n";
                                echo"tttt form1.temp_sum3.value= form1.TSUM_$jj.value n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }else if(type == 'ib1'){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.temp_sum1.value= form1.W_etc1_$ii.value n";
                                echo"tttt form1.temp_sum2.value= form1.WP_etc1_$jj.value n";
                                echo"tttt form1.temp_sum3.value= form1.TSUM_$jj.value n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }else if(type == 'ib2'){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.temp_sum1.value= form1.W_etc2_$ii.value n";
                                echo"tttt form1.temp_sum2.value= form1.WP_etc2_$jj.value n";
                                echo"tttt form1.temp_sum3.value= form1.TSUM_$jj.value n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }
  return true;
  }
function calc(obj,i,j,type){
        form1.temp.value= 1 * obj.value - 1 * form1.temp_value.value;

        if(type == 'p'+ '+ '){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.W_$ii.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_$jj.value= 1 * form1.temp_sum2.value +1 * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.temp_sum3.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum1.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum2.value= 1 * form1.temp_sum2.value +1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum3.value= 1 * form1.temp_sum3.value + 1 * form1.temp.value; n";
                                echo "form1.temp_value.value= '0'; n";
                                echo "form1.temp.value= '0'; n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }else if(type == 'ib1'){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.W_etc1_$ii.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_etc1_$jj.value= 1 * form1.temp_sum2.value + 1 * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.temp_sum3.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum1.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum2.value= 1 * form1.temp_sum2.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum3.value= 1 * form1.temp_sum3.value + 1 * form1.temp.value; n";
                                echo "form1.temp_value.value= '0'; n";
                                echo "form1.temp.value= '0'; n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }else if(type == 'ib2'){
<?
                for($ii=0;$ii <= 10 ;$ii++){
                        if ($ii<>0) echo"tt }else if(i==$ii){ n";
                        else echo"tt if(i==$ii){ n";
                        for($jj=0;$jj <= 10 ;$jj++){
                                if ($jj<>0) echo"ttt }else if(j==$jj){ n";
                                else echo"ttt if(j==$jj){ n";
                                echo"tttt form1.W_etc2_$ii.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.WP_etc2_$jj.value= 1 * form1.temp_sum2.value + $jj * form1.temp.value; n";
                                echo"tttt form1.TSUM_$jj.value= 1 * form1.temp_sum3.value + $jj * form1.temp.value; n";
                                echo"tttt form1.temp_sum1.value= 1 * form1.temp_sum1.value + 1 * form1.temp.value; n";
                                echo"tttt form1.temp_sum2.value= 1 * form1.temp_sum2.value + $jj * form1.temp.value; n";
                                echo"tttt form1.temp_sum3.value= 1 * form1.temp_sum3.value + $jj * form1.temp.value; n";
                                echo "form1.temp_value.value= '0'; n";
                                echo "form1.temp.value= '0'; n";
                        }
                        echo "ttt } n";
                }
                echo "tt } n";
?>
        }
  return true;
  }
//-->
</SCRIPT>

...
...
..

<input type='text' name='F_".$j."[]' size='1' value='' class='lds_class' onkeypress=calc_ready(this,".$i.",".$j.",'p') onkeyup=calc(this,".$i.",".$j.",'p')>
: 이런 text 박스가 수십개 있습니다.

합계 : <input type='text' name='W_".$i."' size='1' value='".$workrec_total_time[$i]."' class='lds_class'>
<input type='text' name='WP_".$j."' size='1' value='".$workrec_part1_time[$j]."' class='lds_class'>...............
글쓴이 제목 최종 글
XE 공지 글 쓰기,삭제 운영방식 변경 공지 [16] 2019.03.05 by 남기남
김상돈 마우스오른쪽 클릭금지... [1] 2007.08.10
김선종 섬네일 생성시... 문제... [2] 2007.08.10
플로렐라 MySQL에서... [2] 2007.08.10
hanpedro [도움바람] 변수를 받지 못합니다. ㅋ - 소스첨부  
손명수 외부로그인이요... [1] 2007.08.10
히스 아래 소스좀 해석해주세요..-_-;; [1] 2007.08.10
손명수 외부 로그인 설정하는거요~~~ [2] 2007.08.10
[유아독존] htaccess 질문 하나만 받아주세요. [1] 2007.08.10
ufo220 바디에 온로드 삽입하려면? [1] 2007.08.10
이정주 APM(?)을 이용한 웹 상이 아닌 일반하드에서 제로보드 이용하기에 대해 [1] 2007.08.10
이경원 새로운창을 열어도 기존에 열었던 창에서 음악 안꺼지기?!  
강형민 [Linux] 서버에 관련된 질문입니다. [1] 2007.08.10
김걸 스크롤바 따라다니는 메뉴가 ... [5] 2007.08.10
김동철 내용좀.. 보고..;;;; [2] 2007.08.10
두개 도메인 한계정 드렉토리별 이동 방법 [1] 2007.08.10
히스 mysql_fetch_array와 mysql_fetch_row의 차이점좀..; [4] 2007.08.10
이재호 원프레임 홈페이지 만들기에 대해서 궁금합니다. [2] 2007.08.10
이현기 게시판 만들때요 답글 처리를 어떻게 해야되나요? [2] 2007.08.10
:D내나이54 사랑비 BGM 를 홈페이지에 달았는데.. 노래제목부분이 한쪽으로 내려갔어요;ㅂ; [1] 2007.08.10
송영진 Mysql 이전 및 복구에 대해 질문드립니다. [2] 2007.08.10
정용우 일러스트 그림이 자꾸 번져보여요.. [1] 2007.08.10
기억속에 쇼핑몰 구축에 대한 도움을 좀 구합니다... [1] 2007.08.10
이동신 자동계산스크립트 [4] 2007.08.10
백도 닫기. 그것은 인생 그것은 외로움..>0< [5] 2007.08.10
taeho 링크를 누를면 메뉴가 뜨는 자바스크립트 좀  
전재근 변수 주고 받기에 대한 질문입니다. [3] 2007.08.10
daniel cafe24계정에서 PHP를 이용 도메인 2개 사용하기 [1] 2007.08.10
이태운 홈페이지 새창 관련  
자스민 나모에서 질문입니다..  
:D내나이54 그림과 그림 사이가 자꾸 벌어져요;ㅂ;