• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 JavaScript, TS 게시판 레벨1 모듈 공백 체크 관련해서 질문드립니다.

레벨1 모듈 공백 체크 관련해서 질문드립니다.

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #23929

    MD
    참가자

    document.getElementById('modal-form').addEventListener('submit', function(e){
       if (emailInputValue === '') {
            e.preventDefault();
            alert('이메일을 입력하세요!');
         }
    });

     

    자바스크립트 코드를 이런 식으로 작성했습니다.

    그런데 이상한 문제가 몇 가지 있습니다. 

    1. 이벤트 리스너를 주기 전 form 태그만 추가했을 때 맨 처음 한 번은 전송 버튼을 눌렀을 때 새로고침이 되지만 그 이후에는 반응이 없습니다. action='login.php'을 추가하면 전송 버튼을 누르면 4o4 not found가 뜹니다.

     

    2. 이벤트 리스너를 준 이후에 email input에 아무런 값을 넣지 않았을 때 alert 창이 잘 뜹니다. 그런데 이메일 값을 넣어도 alert 창이 계속 뜹니다. 새로고침은 안 되면서요.

     

    3. email input에 값을 넣고 전송버튼을 누르면 2번 문제에선 alert창이 뜰 때도 있다고 했었는데 어쩔 때는 alert창이 뜨진 않지만 새로고침도 되지 않는 문제가 발생합니다.

     

    문제가 다양하게 나타나서 좀 당황스러운데요.. 같은 코드인데 왜 어떨 때는 되고 어떨 때는 안 되는지 궁금합니다.

    #23937

    codingapple
    키 마스터

    아마도 emailInputValue 변수만드는 곳이 이상하거나 그래서 그런듯 합니다 

    옮겨보도록 합시다 

    #23940

    MD
    참가자

    변수를 처음에는 콜백함수 밖에 만들었다가 이상한 거 같아서 조건문 위에 옮겼는데도 동일하게 발생하네요.

     

    지금 계속 시도 중인데 처음에는 이메일을 넣으면 새로고침이 되는데 두 번째부터는 안 되네요. 원래 이런건가요? 아예 브라우저를 닫고 처음 열었을 때 최초에만 되고 그 뒤부터는 안 됩니다 ㅠㅠ

    #23953

    codingapple
    키 마스터

    전송버튼을 누르면 아까 그 변수만들어달라고 코드짜봅시다 

    #23972

    MD
    참가자

    document.getElementById('sendBtn').addEventListener('click', function (e){
           if (document.getElementById('email').value === '') {
                e.preventDefault();
                alert('이메일을 입력하세요!');
              } else {
                window.location.reload();
              }
    });

    id='sendBtn'은 모달창의 전송버튼에 준 id입니다.

     

    선생님 제가 생각하던 화면 모습(?)은 이렇게 하면 됩니다. 이메일을 입력 안 하면 알림창이 뜨고 이메일에 값이 들어있으면 전송버튼을 눌렀을 때 새로고침 되는 걸 제가 원했거든요. 제가 바라던 모습은 만들긴 했는데 선생님이 작성하신 코드랑 좀 많이 다른 점 때문에 궁금증이 생깁니다. 이렇게 코드를 짜게 되면 추후에 무슨 문제가 생길 수 있을까요? 가령 저는 단순히 새로고침을 하는 코드를 추가했는데 이게 submit이 발생했을 때랑 다른 결과를 만든다던가 등의 예상문제(?)가 있는지 궁금합니다.

    #23983

    codingapple
    키 마스터

    sendBtn에 type="submit" 넣으면 아까랑 똑같습니다 그럼 폼전송될걸요

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠