묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨만들면서 배우는 리액트 : 기초
강의 6분 후반부~7분 부분에서 handleFormSubmit의 검증전 에러메시지초기화(setErrormessage)에 대한 질문입니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.setErrormessage가 handleFormsubmit함수 안에 있게 되면,만약한글로 입력창에 "나나나" 이렇게 치면 에러메시지가 "한글은~"이라고 뜰 것입니다.이 때 따로 한글로 인풋이 들어간다고해서 전송이 안되는게 아니니까 이 상태로 전송하면,setErrormessage(handleFormsubmit)에 의해 초기화 될 것입니다. 이후 글자를 하나라도 지우면 handleInputchange에 따라서 검증되고, "한글은~"메시지가 뜰 것입니다. 여기서 질문이와 같이 동작하는 게 맞을까요?이러한 동작이 맞다면 handleFormSubmit안의 setErrormessage는 사용하는 이유가 없고, 오히려 없는게 자연스러워 보이는데 (없게 되면 한글만 입력하고 전송버튼 눌러도 에러메시지("한글은 입력할 수 없습니다")가 남아있음) .. 제가 어느 부분을 놓치고 있는 걸까요?
-
해결됨[코드캠프] 시작은 프리캠프
정렬이 제대로 안 돼요
싸이월드 만들기 5탄에서 수업을 따라서 코드를 새로 작성하고 있었는데 저는 albumWrapper 부분에서 css를 작성해도 강의 내용과 다르게 나오고 있습니다. 제가 어느 부분이 틀린 건가요? 강의 시간은 16:54 부분입니다.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
index.html 이 프로젝트에 영향을 못끼치는 것 같습니다
안녕하세요 강사님. 항상 좋은 강의 만들어 주셔서 감사합니다. 강의 따라서 하던중에 아이콘이 잘 그려지지 않아 원인 분석중 이상한 부분이 있어 질문 드립니다.fontawesome , 파비콘 등 index.html에 링크태그를 사용해 다운로드 하게끔 했는데 아예 다운로드가 안되고 있는것 같습니다.1.index.html2.개발자 도구 네트워크원래대로면 네트워크에 다운로드 하는 부분(index.html에 선언한 link태그의 url)이 있지않나요...? 3.모의 테스트인식이 되는지를 확인하기위해 테그밖에 아무글자나 넣어서 에러가 나게끔 했으나 서버는 정상 기동이 됩니다.... ㅠㅠ 해당 문제에 해결 방안을 알려주시면 감사하겠습니다!!추가로 index.html이 어느 부분에 import?되는건지 알고싶습니다. 감사합니다.
-
해결됨[코드캠프] 시작은 프리캠프
padding 말고 margin을 이용할 수 없을까요?
싸이월드 만들기 1탄 16:48 입니다..background { width: 1024px; height: 600px; background-image: url("../images/background.png"); padding: 20px 0px 0px 20px; } .outerbox { width: 808px; height: 544px; background-image: url("../images/outerbox.png"); /* margin: 20px 0px 0px 20px; */ }padding을 이용해서 간격을 주었는데padding 말고 margin을 줄 경우 outerbox만 위에서 떨어지는게 아니라 background도 같이 떨어집니다.이거 왜 이런걸까요?
-
해결됨처음 만난 리액트(React)
메세지가뜨지 않습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.사진과 같이 뜨고 안에 텍스트가 뜨질 않아서 버전 문제인가 하여 깃허브에 올리신 18버전 코드를 붙여넣어도 텍스트만 안뜹니다..ㅠ...
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
제시어 실행이 안돼요
<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>끝말잇기</title> <style></style> </head> <body> <div><span id="order">1</span>번째 참가자</div> <div>제시어:<span id="word"></span></div> <input type="text"> <button>입력</button> <script> const number = parseInt(prompt("몇명이 참가하나요?")); const $button = document.querySelector("click"); const $input =document.querySelector("input"); const $word =document.querySelector('#word'); let word; //제시어 let newWord; //새로 입력한 단어 const onInput = (event) => { newWord =event.target.value; } const onClickButton = () => { if(!word) { word=newWord; $word.textContent =word; //date 바꾸고 화면도 바꾸고 $input.value = ''; } else { //비어있지않다 } }; $button.addEventListener('click', onClickButton); $input.addEventListener('input', onInput); </script> </body>단어를 작성해서 입력 버튼을 눌렀을 때 제시어에 단어가 나오질 않아요 ..이런 오류가 떠서 찾아보니까 addEventListener 함수가 실행이 안되어서 오류가 난다고 해서 해결책으로body태그 안에 script 를 넣어주면 된다고 하는데 계속 오류가 나네요 ,,
-
미해결누구든지 하는 리액트: 초심자를 위한 react 핵심 강좌
App.js에서 handleCreate 함수 생성 시 오류
영상 속 App.js에서는 클래스로 정의되어있는데요요새는 React app create하면,디폴트로 function App()으로 만들어놓더라구요 클래스에서는 handleCreate=() =>{ }정의가 되지만,function으로 정의된 App.js에서는...오류가 뜹니다.const를 앞에다 붙여도 안되고;;왜그럴까요?클래스 컴포넌트가 아닌 function으로 정의된 App.js에서는 어떻게 내부 함수를 생성해야하는지 알려주세요.ㅠㅠㅠ
-
해결됨[코드캠프] 시작은 프리캠프
회원가입 폼 기능 추가
안녕하세요 이제 마지막 파이널 과제를 하고 있고, 기능 추가를 위하여 고민하는데 어떻게 event 값을 반환해야 할 지 감이 안 와서 여쭤봅니다.제가 추가하고자 하는 기능의 흐름은// 1. 핸드폰 번호 작성 시에 알아서 옆으로 커서 넘어가도록 만들기. // 2. 비밀 번호와 비밀 번호 확인이 일치하는 경우에 인증번호 전송 가능해지기. // 3. 전송 누르면 인증 번호가 화면에 표시되고, 3분 카운트가 시작된다. 그리고 인증 완료 버튼이 활성화된다. // 4. 3분이 지나면 인증 완료 버튼이 비활성화된다.이 과정을 통하고 싶어서 2개의 비밀번호 칸에 각각 함수를 생성하여 비밀번호 값을 받아오게 한 뒤에 sendNum 함수에서 2개의 비밀번호 값을 비교하여 동일한 경우에만 인증번호 전송을 가능하게 하고 싶습니다. 그리고 다른 경우에는 alert를 이용하여 비밀번호를 확인하라는 창을 띄우려고 하는데, 비밀번호 값을 얻어내는 함수 pw1 값 꺼내서 어떻게 sendNum 함수에 넣어야 할 지 잘 모르겠습니다... ㅠㅠ 코드 올리겠습니다. 감사합니당..! <!DOCTYPE html> <html lang="ko"> <head> <title>코드캠프 회원가입</title> <link rel="stylesheet" href="./signup.css" /> <script src="./signup.js" defer></script> </head> <body> <div class="container"> <div class="wrapper"> <div class="wrapper__header">코드캠프 회원가입</div> <div class="wrapper__body"> <div class="body__info"> <input type="email" placeholder="이메일을 입력해 주세요." /> <input type="text" placeholder="이름을 입력해 주세요." /> <input type="password" placeholder="비밀번호를 입력해 주세요." id="pw1" onchange="changeValue(event)" /> <input type="password" placeholder="비밀번호를 다시 입력해 주세요." id="pw2" /> <div class="phone"> <input type="text" class="phone__first" maxlength="3" id="p1" oninput="moveCursorFirst()" /> - <input type="text" class="phone__mid" maxlength="4" id="p2" oninput="moveCursorSec()" /> - <input type="text" class="phone__last" maxlength="4" id="p3" /> </div> </div> <div class="body__certificate"> <div class="certificate__send"> <div class="certificate__num" id="certificate__num">000000</div> <button class="send__num" onclick="sendNum()" id="send__num"> 인증번호 전송 </button> </div> <div class="certificate__complete"> <div class="remaining"> <span id="remaining__min">3</span>: <span id="remaining__sec">00</span> </div> <button class="complete__btn" id="complete__btn" disabled> 인증 완료 </button> </div> </div> <div class="body__addition"> <select name="region"> <!-- selected + disabled 같이 이용하면 된다. --> <option value="" selected disabled>지역을 선택하세요.</option> <option value="gg">경기도</option> <option value="seoul">서울</option> <option value="ic">인천</option> </select> <div class="sex"> <div class="women"> <input type="radio" id="women" name="sex" /> <label for="women">여성</label> </div> <div class="men"> <input type="radio" id="men" name="sex" /> <label for="men">남성</label> </div> </div> </div> </div> <div class="divideLine"></div> <div class="wrapper__footer"> <button class="submit">가입하기</button> </div> </div> </div> </body> </html> // 1. 핸드폰 번호 작성 시에 알아서 옆으로 커서 넘어가도록 만들기. // 2. 비밀 번호와 비밀 번호 확인이 일치하는 경우에 인증번호 전송 가능해지기. // 3. 전송 누르면 인증 번호가 화면에 표시되고, 3분 카운트가 시작된다. 그리고 인증 완료 버튼이 활성화된다. // 4. 3분이 지나면 인증 완료 버튼이 비활성화된다. // 1. 핸드폰 번호 작성 시에 알아서 옆으로 커서 넘어가도록 만들기. const moveCursorFirst = () => { const p1 = document.getElementById("p1"); if (p1.value.length === 3) { document.getElementById("p2").focus(); } }; const moveCursorSec = () => { const p2 = document.getElementById("p2"); if (p2.value.length === 4) { document.getElementById("p3").focus(); } }; // 아직 해결하지 못 함. 비밀번호 가지고 나와야 된다. const changeValue = (event) => { let pw1 = event.target.value; return pw1; }; // 2. 비밀 번호와 비밀 번호 확인이 일치하는 경우에 인증번호 전송 가능해지기. let isStarted = false; const sendNum = () => { // 2. 타이머 실행시키기. let time = 5; let isDisabled = document.getElementById("complete__btn"); if (isStarted === false) { isStarted = true; isDisabled.removeAttribute("disabled"); // 비활성화 끄기. // 1. 6자리 수의 인증 번호 생성하고 화면에 보여주기. let certificateNum = document.getElementById("certificate__num"); let number = String(Math.floor(Math.random() * 1000000)).padStart(6, "0"); certificateNum.innerText = number; let timer = setInterval(function () { // 타이머가 실행되는 경우 if (time >= 0) { const remainingMin = Math.floor(time / 60); const remainingSec = String(time % 60).padStart(2, "0"); // console.log(`${remainingMin}분 ${remainingSec}초`); const min = document.getElementById("remaining__min"); const sec = document.getElementById("remaining__sec"); min.innerText = remainingMin; sec.innerText = remainingSec; time = time - 1; } else { // console.log("타이머가 종료되었습니다."); // 타이머를 종료시키는 경우 isDisabled.setAttribute("disabled", ""); // 비활성화 켜기. clearInterval(timer); isStarted = false; } }, 1000); } else { } };
-
미해결함수형 프로그래밍과 JavaScript ES6+
로직 질문
6분20초 쯤에if (a == l) return; 을 지우셨는데이걸 안지워도 결과가 똑같던데 무슨 차인가요??그리고 infinity(i = 0) 이렇게 되어있으면 36번째 라인에 infinity(1)은 의미가 없지 않나요?
-
미해결자바스크립트+jQuery 기초부터 실무까지 : 기초 Part.1
상단에 일시정지 새로고침하는 것은 어떻게 나오게 하나요??
html에 상단에 일시정지 새로고침 아이콘들 나오게 하는것은 어떻게 하나요??
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃헙 권한 요청드립니다.
인프런 아이디 : nasangw@wemade.com인프런 이메일 : nasangw@wemade.com깃헙 아이디 : ggp07190@gmail.com깃헙 Username : qortmdrn 입니다.
-
해결됨한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
배포하고 난 후에 일기저장
안녕하세요 !배포를 완료하고 일기를 작성은 잘 되는데, 제가 쓴 일기는 제 노트북에서 배포주소로 잘 보입니다.배포한것을 다른사람들에게 전달했을 시, 다른사람들이 쓴 일기는 제가 배포한 주소로 제 노트북에서 볼 수 없나요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
섹션 6 ( 1.올바른 괄호 <스택> ) 질문입니다!
아래는 올바른 괄호(스택) 문제 답안 코드입니다.Q. 만약 주어진 let = a가 "(" 이게 아닌 ")" 이걸로 시작하면 답안 같은 경우는 무조건 NO가 나와버리는데문제가 "(" 이걸로 시작해서 문제를 감안해서 ")" 이걸로 시작하는 경우는 배제하고 답안을 도출하신 걸까요?다른 이유나, 제가 이해 못 한 부분이 있는 건가 싶어서 여쭤봅니다 ! function solution(s){ let answer="YES"; stack=[]; for(let x of s){ if(x==='(') stack.push(x); else{ if(stack.length===0) return "NO"; stack.pop(); } } if(stack.length>0) return "NO"; return answer; } let a="(()(()))(()"; console.log(solution(a));
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
github 권한 요청드립니다.
인프런 아이디 : @dlehdgus6251 인프런 이메일 : qorgus1223@naver.com 깃헙 아이디 : dlehgus6251@naver.com 깃헙 Username : dong-hyeon
-
미해결타입스크립트 입문 - 기초부터 실전까지
첫 번째 프로젝트 중 노란색 선
안녕하세요 선생님! 선생님의 강의에서는 함수들마다 노란선들이 있는데 저는 eslint를 설치했는데도 노란선이 없어서 왜그런지 여쭤봅니다! 함수에 커서를 가져다대었을 때 따로 :void를 주지않아도 이미 기본값으로 들어가있는것 때문일까요??그리고 오히려 todos에 파란선이 나옵니다ㅠㅠ
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
강의자료 요청
안녕하세요 선생님. 강의자료 제공 가능할까요?
-
미해결만들면서 배우는 리액트 : 기초
고양이사진
고양이 사진 언제 다시 뜰까요?ㅠㅠ 사진이 안나와서 잘 되는지 확인이 조금 어렵네요,,
-
미해결누구든지 하는 리액트: 초심자를 위한 react 핵심 강좌
PhoneForem.js 파일에서 [e.target.phone] : e.target.value 해줘야하지 않나요?
PhoneForem.js 파일에서 [e.target.phone] : e.target.value 해줘야하지 않나요?
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
github 권한 부탁드립니다!!
인프런 아이디 : clcc001@naver.com인프런 이메일 : clcc001@naver.com깃헙 아이디 : westofsky159@gmail.com깃헙 Username : westofsky
-
미해결Vue.js 완벽 가이드 - 실습과 리팩토링으로 배우는 실전 개념
깃헙 권한요청드립니다.
인프런 아이디 : nttott89@gmail.com인프런 이메일 : nttott89@gmail.com깃헙 아이디 : nttott@gmail.com깃헙 Username : eugene0318가이드를 못찾겠어요