pinging
48
2019-11-04 13:40:58 작성 2019-11-04 13:46:27 수정됨
2
117

자바스크립트 변수 관련 질문입니다.



현재 회원가입 아이디 중복체크 부분 진행중에 있습니다.


제가 if 문을 넣은 이유는 입력값을 입력하고 버튼을 누르면 입력값을 담은 변수 memberId 가

값이 빈 값으로 처리됩니다. 그런데 코드를 바꿔서



onclick 함수 내부에 value 값을 담은 변수 mv를 하나 더 만들어주어 진행하면 올바르게 됩니다.

memberId 변수의 value 값을 받아오는 걸로 봐서는 스코프의 문제는 아닌것 같고...

왜 아래 코드처럼 작성해야지만 정상적으로 작동을 하는 걸까요?? ㅠㅠ

너무 기본적인 질문인듯해서... 제가 뭘 놓치고 있는건지 어느부분의 공부가 부족한걸까요....


0
0
  • 답변 2

  • 유리세계
    2k
    2019-11-04 14:07:46

    아이디 값을 가져오는 변수의 위치가 문제로 보이네요

    위의 경우에 보면

    아이디 값이 click 이벤트의 외부에 선언되어있죠?

    이벤트를 생성할때 외부의 값을 끌어오기 때문에 이벤트를 생성할 당시의 값으로

    고정되어 빈값만 넘어갈겁니다. 만약 태그에 기본값으로 무언가 주어주면 바뀔 수도 있고요


    두번째의 경우에는 태그의 위치만 참조하는 경우에서

    매번 이벤트가 동작할때마다 그 값을 가져오기 때문에 이벤트가 정상적으로 동작하는거고요


    0
  • pinging
    48
    2019-11-04 14:21:35

    아.. 변수 선언의 위치가 문제였군요!

    기본적인 문제였는데 혼자 서치하면서 공부를 하다보니 이런 문제가...

    답변 정말 감사드립니다!! 

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.