자바스크립트에 대해 질문~~ > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

자바스크립트에 대해 질문~~ 정보

자바스크립트에 대해 질문~~

본문

어제..아니 새벽에 질문 올렸는데 다시 올립니다.
약간 수정했어요.. ^^;;
 
 
막 중복에 엉망징창으로 짜여진 소스 일겁니다.
그치만 일단 99% 구동은 되는데.. 딱 하나가 안되요..
 
포인트 넣는부분 point_price 요것을 본인의 보유포인트보다 적게 입력하면 총합계[wr_9]가 nan으로 계산이 안되네요..
 
처음에 본인의 포인트가 들어왔을때는 계산이 맞게 되고 또는 본인 보유포인트 보다 많이 작성하면... 경고창이 뜨면서 본인 포인트가 들어가면서 계산이됩니다만...
보유포인트 보다 적게 입력하면 계산이 안되는게...
 
소스를 어떻게 올려야할지 모르겠네요..
 
 
흠.. 펑션함수 넣은부분을 설명하자면..
init()는 바디에 onload="init();" 시켰구요..
 
point()는 포인트 입력인풋박스에  onchange="point();" 로 넣었습니다.
 
 
또 하나더 질문!! 포인트 입력하는 인풋박스의 수량은 사용자가 직접 숫자로 입력하는데..
쓰기버튼을 눌렀을때 숫자인지 아닌지 체크하는거 말고..
입력하는 당시에 이게 숫자인지 아닌지 체크는 또 어찌할까요??
 
 
일단 아래 자바스크립트 소스구요..
나름대로 주석도 넣었지만 못알아 보겠다면 언제든 태클 부탁합니다용~ ^^
 
==============================================================================
 
<input class=ed maxlength=10 name=point_price itemname="포인트" numeric onchange="point();" value="<?=$point_price?>">
 
 
<?
$all_p  = 60000;
$all_l = 3000;
?>
 
<script language="JavaScript">
<!--
var wr_3; //판매가
var wr_2; //수량
function init () {
    wr_3 = document.fwrite.wr_3.value; //판매가
    wr_2 = document.fwrite.wr_2.value; //수량
    //point_price = document.fwrite.point_price; //포인트할인
    change();
}
function point() {
    hm = document.fwrite.wr_2; //수량
    price1 = document.fwrite.price1; //주문합계
    point_price = document.fwrite.point_price; //포인트할인
    sum_price = document.fwrite.sum_price; // 주문합계 [제품가 + 옵션가]
    sum_price2 = document.fwrite.sum_price2; // 배송비계산에 필요 [주문합계 - 포인트할인]
    wr_9 = document.fwrite.wr_9; //총합계
    price2 = document.fwrite.price2; //배송비
    price1 = eval(parseInt(hm.value) * parseInt(sum_price.value));
    if (<?=$profile[mb_point]?> < parseInt(point_price.value)) {
        alert("보유하신 포인트보다 많은 할인을 받을 수 없습니다.");
  point_price.value = "<?=$profile[mb_point]?>";
 } else if ( 0 > parseInt(point_price.value)) {
     alert("포인트를 잘못입력하셨습니다.");
  point_price.value = "<?=$profile[mb_point]?>";
 } else {
    sum_price2.value = eval(parseInt(price1.value) - parseInt(point_price.value));
    }
  if (sum_price2.value < <?=$all_p?>) { // 무료배송 6만원부터
      price2.value =  <?=$all_l?>;
     } else {
      price2.value = 0;
  }
     wr_9.value = eval(parseInt(sum_price2.value) + parseInt(price2.value));
}
//-->
</script>

댓글 전체

<input class=ed maxlength=10 name=point_price itemname="포인트" numeric onchange="point();" value="<?=$point_price?>" onkeyUP="javascript:validate(this);">

<script language='JavaScript'>
function validate(field) {
var valid = "0123456789"
var ok = "yes";
var temp;
for (var i=0; i<field.value.length; i++) {
temp = "" + field.value.substring(i, i+1);
if (valid.indexOf(temp) == "-1") ok = "no";
}
if (ok == "no") {
alert("숫자만 입력할 수 있습니다");
field.focus();
field.select();
  }
}
//-->
</script>
전체 51 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT