admin write
blogblogblogbloglocation loglocation logtag listtag listguest bookguest book
rss feed
얼마전에 전자상거래운용사 실기시험을 봤다.
물론 지난회에도 봤고, 충분히 합격할 수 있음에도 불구하고-_- 떨어졌다.
그 이유는?!
'디스켓 불량!' 이라는군-_-;;
하여간 아직도 생각하면 화가 난다..
각설하고.. 이번회 문제중 하나를 짚어보자.

<html>
<head>
<title> 전자상거래 운용사 A형 1-2 </title>
<script Language="javascript">
function check(f)
{
  if( ... )
  {
      ...("수령을 입력하세요");
      return false;
  }
  if( ... )
  {
      if( ... ("상품을 삭제하시겠습니까?") ... )
      {
          ...("상품을 삭제했습니다.");
          return false;
      }
      else
      {
          ...
          ...
      }
  }
  if( ... )
  {
      return false;
  }
  ...
}
</script>
</head>

<body>
<form method="get" action="a-1-2.asp" onsubmit="return check(this)">
<input type="text" name="qty" maxlenth="1"><input type="submit" value="확인">
</form>
</body>
</html>


문제에서 주어진 샘플코드는 위와 같았고, 수험자가 할 일은 ... 을 채워넣는 것이었다.
조건은 5개.
1. qty에 null이 들어오면 "수령을 입력하세요" 라는 윈도우를 띄운다.
2. qty에 0이 들어오면 "상품을 삭제하시겠습니까?" 라는 대화상자를 띄운다.
3. 대화상자에서 확인(True)이 입력되면 "상품을 삭제했습니다"라는 메시지와 함께 qty를 리셋하고, 취소(False)가 입력되면 qty에 1을 치환한다.
4. qty에 문자가 입력되면 아무동작도 안한다.
5. 모든 스크립트가 체크되면, a-1-2.asp로 데이터를 넘긴다.

좋다 그럼 풀어보자.
첫번째 if문은 qty가 null인지 여부를 확인하는것이니 f.qty.value=="" 가 될것이다.
그리고 null일때 윈도우를 띄우는 코드는 alert이니 alert("...")이 되겠지.
두번째 if문은 qty값이 0인지 여부를 확인하는것이니 f.qty.value=="0" 으로 체크하면 된다.
그럼 자 내가 궁금한 사항은 이것이다.
만약 qty가 0일 경우에 대화상자를 띄우라고 했는데 그 뒤가 문제다.
대화상자를 띄우는 코드는 confirm 이니 if(confirm("...")){}이 되는게 정상이다.
그런데 리셋을 하라고 해놓고 그 아래 true 부분에는 새로운 라인이 없다.
... 부분에는 윈도우를 띄우는것이니 alert가 들어가는것일테고....
그럼 결론적으로 if(confirm("상품을 삭제하시겠습니까?") ...) 이부분에서 처리하라는건데..
만약 그냥 윈도우만 띄우는 것이라면 간단하게 if(confirm("상품을 삭제하시겠습니까?")!=0) 이렇게 넣어주면 된다.
그러나 주어진 문제에서는 qty를 reset 하라고 했는데 문법에 맞질 않는다.
"이 부분에 대해서 처리할 수 있는 방법을 아는 분은 코멘트로 달아주시면 고맙겠습니다"
자 넘어가서 만약 False(취소)를 했을 경우에 qty에 1을 치환하라고 했으니 코드는 f.qty.value="1";이 된다.
세번째 if문에서는 qty에 문자가 들어왔을 경우라고 했으니 isNAN 함수를 사용해서 처리하면 된다.
따라서 코드는 if(isNaN(f.qty.value)) 이 되겠다.
마지막으로 모든 스크립트가 체크되면 데이터를 넘기라고 했으니 코드는 f.submit(); 이 될것이다.

결론적으로 다른건 다 좋은데 상품을 삭제한뒤에 굳이 reset을 할 필요가 있냐는 것과,
저 코드라인에서 어떻게 처리를 하라는건지 아직도 궁금하다.

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

  1. LanCome
    2006.11.04 03:03
    댓글 주소 수정/삭제 댓글
    공부해서 남 주냐!!!공부해야지~
    • 2006.11.04 05:30 신고
      댓글 주소 수정/삭제
      그래 ㅋ 공부해서 저것좀 풀어봐라 ㅋ
  2. 2006.11.04 09:24
    댓글 주소 수정/삭제 댓글
    문제에 ... 점3개만 더 있으면 되는거네 ㅡㅡ; 거참...